ezis Posted April 3, 2010 Report Share Posted April 3, 2010 (edited) hei! forumā ir pāris raksti par read/unread tēmu.. Respektīvi, kā panākt, lai attēlotu izlasītos un neizlasītos rakstus.. ātri pārejot pāri, nevienā tā arī neieguvu skaidrību. Citi glabā iekš db -> useraID topiks ^^, tādējādi piepildot db ar ļoooooooti daudz ierakstiem. tad šis variants atkrīt. citi glabā cepumos.. bet ko īsti glabāt cepumā? visu lasīto rakstu id's ? cepums jau tik daudz nesver. arī to skaits no 1x domena ir ierobežots. vel ar cepumiem bija doma, ka glabāt tajos laiku, kad pēdējo reizi skatīta kāda sadaļa.. un tad, kad ieiet no jauna forumā, tad salīdzina, visi, kas jaunāki par cepuma vecumu, tie rādīsies pie lasītajiem :\ diezgan neveiksmīgi :\ + ejot no cita pc bus atkal cits rezultāts. vēl jau varētu tā ka, karam topikam ir lauks kur glabājas visi lietotāji, kuri lasījuši viņu piem: 1,12,22,50. tad šo ņemtu ierakstu kaut vai ar split(','$useruID) un čekotu vai tavs id ir klucī.. bet tā atkal daudz laika aizietu, kamēr visus topikus izčekotu... Nenāk prātā neviena gudra domā, kā un kur glabāt lasītos rakstus vai kā citādi realizēt šo.. :? Edited April 3, 2010 by ezis Quote Link to comment Share on other sites More sharing options...
emsy Posted April 3, 2010 Report Share Posted April 3, 2010 Glabā SQL tabulā, piem. views un tad meklē pēc ID vai IP vai attiecīagis lietotājs vai IP ir jau skatījis šo rakstu! $qu = mysql_num_rows(mysql_query("SELECT * FROM views WHERE ip='$_SERVER[remote_addr]' or uid=$uid AND rakstaid=$rakstaid")); // un tad pārbaudi if($qu==0) { print "Jauns raksts, izlasi!"; } else { print "Skatīts!"; } Quote Link to comment Share on other sites More sharing options...
m8t Posted April 3, 2010 Report Share Posted April 3, 2010 Glabā datubāzē nevis izlasītos topikus, bet gan neizlasītos un kad lietotājs kādu izlassa, tad šī rindiņa pazūd no datubāzes. Vai arī šādi: a{color:black} a:visited{color:white} Nav gan permanent, bet dara savu funkciju neaizņemot gandrīz nekādu vietu :D Quote Link to comment Share on other sites More sharing options...
ezis Posted April 3, 2010 Author Report Share Posted April 3, 2010 m8t super, bet tā arī ir! :D Tas darbotos! :D bet atkal savi trūkumi ^^ btw emsy, es jau teicu, ka šāds variants atkrīt, jo tad ir piemēram: 2000topiki*100lietotāji = daudz daudz ierakstu :\ Quote Link to comment Share on other sites More sharing options...
Kavacky Posted April 3, 2010 Report Share Posted April 3, 2010 2000 topiki * 100 useri nekad nekļūs par 200000 ierakstiem DB, jo nekad visi useri neizlasīs visus rakstus. Un 0.2M ierakstu, kas tas vispār ir? Quote Link to comment Share on other sites More sharing options...
anonīms Posted April 3, 2010 Report Share Posted April 3, 2010 Kavacky, a ja pēkšņi projekts aiziet debesīs un ir 1miljons aktīvu lietotāju ar super aktīvu forumu? Nav labāk glabāt visu vienā garā cepumā? Quote Link to comment Share on other sites More sharing options...
briedis Posted April 3, 2010 Report Share Posted April 3, 2010 Kavacky, a ja pēkšņi projekts aiziet debesīs un ir 1miljons aktīvu lietotāju ar super aktīvu forumu? Nav labāk glabāt visu vienā garā cepumā? Nez kāpēc tad taisa bekapus :( A ko darīt, ja lietotājs lieto savu kontu no vairākiem kompjiem? Quote Link to comment Share on other sites More sharing options...
mounkuls Posted April 3, 2010 Report Share Posted April 3, 2010 nu ja negribi glabāt bāzē, glabā failā katram jūzerim, tikai tur man laikas zaudēsi vēl vairāk un pie dafiga jūzeriem failu pārrakstīšana iedos taimautu, tam kurš pievienos postu. Bet tā jau unread masīvu paņemt katram savu no sava faila būs pat ātrāk iespējams. Man gan domājas, ka tik lielos skaitļos ilgi netiksi, lai slogs bāzei baigākais būs. Iespējams serveri un datori vispār ieliks kloķi jūzeru skaitam pamatīgi. Negalvoju jau par to, ka Mūra likums šancēs vēl nez cik ilgi, bet ja tā godīgi, tā es uzskatiju jau pirms gadiem 5:) Quote Link to comment Share on other sites More sharing options...
pilots Posted April 4, 2010 Report Share Posted April 4, 2010 Varbūt ir kāds zinošs kā, piemēram, IPB un citi lielie forumu dzinēji to dara? Es personīgi kaut kā domāju, ka tai lietai jālieto datubāze nevis cookies. Un plus vēl varētu kaut mēnesī reizi uzlikt cron job, lai patīra to db no ierakstiem, kas attiecas uz ilgstoši nelasītiem, veciem rakstiem. Quote Link to comment Share on other sites More sharing options...
ezis Posted April 4, 2010 Author Report Share Posted April 4, 2010 piem ja taisa šārēto forumu.. tas ir, vairāki akaunti uz viena hosta izmanto vienas un tās pašas tabulas, tad tie ieraksti sakrātos ātri! :? bet var jau arii taa: uzlikt kaut kaadu piem. def laiku pēc kura visi vecāki posti par to laiku skaitīsies izlasīti - tobiš old.. tad ierakstu skaitu db samazinātu.. :? Quote Link to comment Share on other sites More sharing options...
anonīms Posted April 5, 2010 Report Share Posted April 5, 2010 biedri, pārprati mani. Nebiju domājis, ka db nojūk, bet teisim read/unread dati tabulā sāk pāsniegt 1miljonu + aktīvi lietotāji forumā ir pie 1k, kuri katru minūti lasa jaunus tematus. Pārslodze tak būs Quote Link to comment Share on other sites More sharing options...
briedis Posted April 5, 2010 Report Share Posted April 5, 2010 biedri, pārprati mani. Nebiju domājis, ka db nojūk, bet teisim read/unread dati tabulā sāk pāsniegt 1miljonu + aktīvi lietotāji forumā ir pie 1k, kuri katru minūti lasa jaunus tematus. Pārslodze tak būs 1 milj, njaaaaa :))) Nu tad paskataties, kā to dara IPB vai phpBB forumi... Quote Link to comment Share on other sites More sharing options...
nemakuphp Posted April 5, 2010 Report Share Posted April 5, 2010 IPB, cik zinu, glabā serializētu array ar ieraksta ID un lasīšanas laiku, ja ir lasīts. Dati tiek glabāti ganiekš DB (1 ieraksts lietotājam), kā arī iekš cookie, laikam ielogojoties tiek uzlikts. Quote Link to comment Share on other sites More sharing options...
anonīms Posted April 5, 2010 Report Share Posted April 5, 2010 nemakuphp, tieši tā. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.