Goed idee om alles in één keer mee te nemen. Werkt zoiets als het volgende voor je?quote:Op dinsdag 28 augustus 2007 18:09 schreef Swetsenegger het volgende:
[..]
Nee, het gat niet om een 2e query.
De resultaten van een query worden in een while lus uitgelezen, record voor record.
En als die whilelus nu bij record 11 is, wil eigenlijk weten wat er in record 12 staat.
Dit ivm presentatie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $resultSet = ... // definieer de eerste rij $row = mysql_fetch_assoc($resultSet); // zolang de meest recent gelezen rij geldig is while($row) { // haal de volgende rij op $nextRow = mysql_fetch_assoc($resultSet); // als $nextRow niet false is, is $row niet de laatste rij if($nextRow) { // vergelijk $row tegen $nextRow } else { // doe eventueel iets leuks met $row als laatste rij } // zet de huidige rij op de volgende rij om de loop compleet te maken $row = $nextRow; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | $ii = 0; while($row = mysql_fetch_array($result)){ $url() = split("/", $row("referer")); $site = $url(1) . $url(2) . $url(3) . $url(4); $i = 1 ; $getelt = 0 ; while($i<=&ii){ if ($siteteller($i,0) = $site){ $siteteller($i,1) = $siteteller($i,1) + 1;} $getelt = 1; $i = $i + 1; } if ($getelt = 0){ $ii = $ii + 1; $siteteller($ii,0) = $site; $siteteller($ii,1) = 1; } } $i = 1 while ($i <= $ii){ echo $siteteller($i,0); echo $siteteller($i,1); } |
line 25 denk ik.... geen puntkomma op line 24quote:Op donderdag 30 augustus 2007 13:14 schreef BunnyHunter het volgende:
[ code verwijderd ]
de foutcode:
Parse error: syntax error, unexpected T_WHILE in /home/sites/site3850/web/bestanden/sites.php on line 35
in dit geval line 3
wat moet de code doen::
Ik split een url string, die ik weer aan elkaar koppel tot ik aleen een domein string over hou, daarna controleer ik of de string al eens eerder is voorgekomen en als dat niet zo is maak ik een nieuwe teller aan.
ik ben gewend om ASP of VB te programeren, en ik word een beetje gek van PHP om eerlijk te zijn![]()
Voor zover ik kan zien staan de accolades goed, alleen een beetje onoverzichtelijkquote:Op donderdag 30 augustus 2007 13:30 schreef unox_worst het volgende:
Regel 24 mis je een punt-komma, voor de rest zie ik in dit stukje code geen fouten.
Edit:
Je mist helemaal onderaan idd een accolade.
Daar moet == staan ipv =quote:Op donderdag 30 augustus 2007 13:36 schreef unox_worst het volgende:
Die if statement of regel 12 klopt volgens mij ook niet helemaal, zal straks is kijken wat ook alweer precies de bedoeling was enzo.
Bevestigd, vijf openingsaccolades en vijf sluitingsaccolades.quote:Op donderdag 30 augustus 2007 13:36 schreef Dreammaster het volgende:
[..]
Voor zover ik kan zien staan de accolades goed, alleen een beetje onoverzichtelijk
Ik heb hier een groot deel van de kvk-database geïmporteerd, dat waren 780.000 records ongeveer.quote:Op donderdag 30 augustus 2007 15:47 schreef markiemark het volgende:
Even een heel simpel vraagje... Hoeveel rijen kan een MySQL tabel maximaal aan, wat is aan te raden om als maximum te houden?
Of is het afhankelijk van de grootte van de schijf in de server en de prestaties die deze kan leveren?
http://dev.mysql.com/doc/refman/5.0/en/features.htmlquote:Op donderdag 30 augustus 2007 15:47 schreef markiemark het volgende:
Even een heel simpel vraagje... Hoeveel rijen kan een MySQL tabel maximaal aan, wat is aan te raden om als maximum te houden?
Of is het afhankelijk van de grootte van de schijf in de server en de prestaties die deze kan leveren?
quote:Handles large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.
Ja klopt maar dat zijn foutjes waar ik achterkom met testen normaal.quote:Op donderdag 30 augustus 2007 13:41 schreef Dreammaster het volgende:
en de laatste while loop is infinite
met 60.000 tabellen moet je je database echt eens op orde brengenquote:Op donderdag 30 augustus 2007 15:49 schreef Geqxon het volgende:
[..]
http://dev.mysql.com/doc/refman/5.0/en/features.html
[..]
Hetzelfde met 3500 kolommen op een tabel.quote:Op donderdag 30 augustus 2007 16:00 schreef Catch22- het volgende:
[..]
met 60.000 tabellen moet je je database echt eens op orde brengen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | $ii = 0; while($row = mysql_fetch_array($result)){ $url = split("/", $row("referer")); $site = $url(1) . $url(2) . $url(3) . $url(4); $i = 1 ; $getelt = 0 ; while($i<=$ii){ if ($siteteller($i,0) == $site){ $siteteller($i,1) = $siteteller($i,1) + 1; $getelt = 1; } $i = $i + 1; } if ($getelt = 0){ $ii = $ii + 1; $siteteller($ii,0) = $site; $siteteller($ii,1) = 1; } } $i = 1; while ($i <= $ii){ echo $siteteller($i,0); echo $siteteller($i,1); $i = $i + 1; } |
Ik denk dat dat meer problemen geeft dan het oplost omdat die data dan niet meer toegankelijk is. Ik werk met databases waar soms tabellen met miljoenen records in zitten, en dat is goed te doen. Alleen doorzoeken kan lang duren, afhankelijk wat je zoekt; tabellen met miljoenen rows met elkaar joinen, daar staat ie meestal wel even op te stampen. Je kan de tijd verkorten door goed db ontwerp en slim van mysql indices gebruik te maken maar voor de applicaties waar ik mee werk is dat nog niet genoeg. De oplossing die gebruikt wordt is het maken van een aparte index tabel, een zgn datamart, waar je de data bijelkaar zet die je snel boven water wil toveren. Die moet je dan wel bijv elke dag opnieuw genereren.quote:Op donderdag 30 augustus 2007 15:52 schreef markiemark het volgende:
In principe kan ik er dus echt wel best wat in kwijt.. hehe
Het gaat mij om de opslag van tijden met daarbij behorende info, een soort logboek. Er komen waarschijnlijk best wel grote aantallen records in de tabel 'log' te staan. Is het verstandig om na bijv. 1 miljoen (ik noem maar een aantal..) records de data te kopieren naar een andere tabel? Of naar een andere database eventueel?
Dit ziet er uit als een slechte poging om een asp scriptje om te zetten naar php.quote:Op donderdag 30 augustus 2007 16:40 schreef BunnyHunter het volgende:
Ik heb dus alle fouten die aangegeven waren eruit gehaalt maar hij geeft me dus nu de foutmelding
Parse error: syntax error, unexpected '=' in /home/sites/site3850/web/bestanden/sites.php on line 45
dat is bij dit stukje code op 14 in dit bericht
$siteteller($i,1) = $siteteller($i,1) + 1;
ik denk zelf dat hij het niet ziet als een integer, ik kan het aleen niet testen omdat ik zo snel geen convert functie vind daarvoor.
[ code verwijderd ]
daar ben ik dus mee bezig.. dus als je me vertelt wat ik fout doequote:Op donderdag 30 augustus 2007 18:34 schreef SuperRembo het volgende:
[..]
Dit ziet er uit als een slechte poging om een asp scriptje om te zetten naar php.
Of leer php òf zoek een andere hobby.
Begin eens bij w3schools.com. De fouten die hier in zitten zijn echt te basic om uit te leggen.quote:Op donderdag 30 augustus 2007 18:43 schreef BunnyHunter het volgende:
daar ben ik dus mee bezig.. dus als je me vertelt wat ik fout doeanders
![]()
ik zoek alles op op w3schools maargoed ik kloot wel wat verder aanquote:Op donderdag 30 augustus 2007 19:17 schreef SuperRembo het volgende:
[..]
Begin eens bij w3schools.com. De fouten die hier in zitten zijn echt te basic om uit te leggen.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |