Top 5 doet het niet goed !
Alleen de eerst geregistreerde bezoekers komen in de top 5.`
Maar in de top 5 horen mensen te komen die de meeste bezoekers hebben gehad.
Neem een kijkje en dan zie je wat ik bedoel
www.promootsnel.net.tc
Alvast bedankt !
Dit is het scripttje
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
$query = "SELECT * FROM users ORDER BY 'visited' DESC LIMIT 5";
$result = mysql_query($query) or die(mysql_error());
while($object = mysql_fetch_object($result)){
echo"<li><a href=\"$object->urlu\"><strong>$object->user</strong></a><br /><small>$object->visited bezoeken!</small></li>";
}
?>
$query = "SELECT * FROM users ORDER BY 'visited' DESC LIMIT 5";
$result = mysql_query($query) or die(mysql_error());
while($object = mysql_fetch_object($result)){
echo"<li><a href=\"$object->urlu\"><strong>$object->user</strong></a><br /><small>$object->visited bezoeken!</small></li>";
}
?>
En gebruik in vredesnaam toch _fetch_assoc, dat is de enige geoptimaliseerde fetch methode voor mysql.
Gewijzigd op 19/12/2010 21:54:44 door Noppes Homeland
- Een veld hoort niet tussen quotes te staan.
- Bouw foutafhandeling in. or die is dat niet.
- Toon nooit de php / mysql fouten aan de gebruiker. Die kunnen misbruikt worden.
- Objecten fetchen is nonsens. Gebruik gewoon mysql_fetch_assoc.
- Variabelen buiten quotes.
Verder nog wat tips:
- < ? raden we af, gebruik < ?php
- Goede foutafhandeling bij je mysql_query, en geen or die()-kerkhof-technieken. Je script moet niet dood als er iets fout gebeurt.
- mysql_fetch_object() is traag, gebruik liever mysql_fetch_assoc() welke array;s gebruikt.
- variabelen buiten quotes
- Selecteer in je query alleen de velden die je nodig hebt.
En dit keer was Karl me voor....
Gewijzigd op 19/12/2010 21:58:53 door - Ariën -
Ik snap niet zo veel van php dus liefst in mensentaal uitleggen..
bedankt @!@
Wat snap je dan niet?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Selecteer uit je DB wat je wilt en gebruik zomin mogelijk *
// visited niet in de ''
$sql = "SELECT urlu,user,visited FROM users ORDER BY visited DESC LIMIT 5";
$query = mysql_query($sql) or $mysqlerror = mysql_error();
// controleren of er gebruikers zijn zo niet:
if(mysql_num_rows($query) == 0){
echo 'Er zijn geen gebruikers';
}else{
// als er wel gebruikers zijn
while($row = mysql_fetch_assoc($query)){
// echo met de gegevens.
echo '<li><a href="'.$row['urlu'].'"><strong>'.$row['user'].'</strong></a><br><small>'.$row['visited'].' bezoeken!</small></li>';
}
}
?>
// Selecteer uit je DB wat je wilt en gebruik zomin mogelijk *
// visited niet in de ''
$sql = "SELECT urlu,user,visited FROM users ORDER BY visited DESC LIMIT 5";
$query = mysql_query($sql) or $mysqlerror = mysql_error();
// controleren of er gebruikers zijn zo niet:
if(mysql_num_rows($query) == 0){
echo 'Er zijn geen gebruikers';
}else{
// als er wel gebruikers zijn
while($row = mysql_fetch_assoc($query)){
// echo met de gegevens.
echo '<li><a href="'.$row['urlu'].'"><strong>'.$row['user'].'</strong></a><br><small>'.$row['visited'].' bezoeken!</small></li>';
}
}
?>
Gewijzigd op 19/12/2010 22:01:14 door Mitchel V
Leroy schouten op 19/12/2010 21:58:10:
Dit scriptje heb ik gehad !
Heb je het nu niet meer?
Leroy schouten op 19/12/2010 21:58:10:
Ik snap niet zo veel van php dus liefst in mensentaal uitleggen..
Volgens mij schrijven Aar en ik gewoon Nederlands. En dat is gewoon een mensentaal.
Leroy schouten op 19/12/2010 21:58:10:
bedankt @!@
Snap meer van php:
site:phphulp.nl beginnershandleiding php
Mitchel V op 19/12/2010 21:59:55:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Selecteer uit je DB wat je wilt en gebruik zomin mogelijk *
// visited niet in de ''
$sql = "SELECT urlu,user,visited FROM users ORDER BY visited DESC LIMIT 5";
$query = mysql_query($sql) or $mysqlerror = mysql_error();
// controleren of er gebruikers zijn zo niet:
if(mysql_num_rows($query) == 0){
echo 'Er zijn geen gebruikers';
}else{
// als er wel gebruikers zijn
while($row = mysql_fetch_assoc($query)){
// echo met de gegevens.
echo '<li><a href="'.$row['urlu'].'"><strong>'.$row['user'].'</strong></a><br><small>'.$row['visited'].' bezoeken!</small></li>';
}
}
?>
// Selecteer uit je DB wat je wilt en gebruik zomin mogelijk *
// visited niet in de ''
$sql = "SELECT urlu,user,visited FROM users ORDER BY visited DESC LIMIT 5";
$query = mysql_query($sql) or $mysqlerror = mysql_error();
// controleren of er gebruikers zijn zo niet:
if(mysql_num_rows($query) == 0){
echo 'Er zijn geen gebruikers';
}else{
// als er wel gebruikers zijn
while($row = mysql_fetch_assoc($query)){
// echo met de gegevens.
echo '<li><a href="'.$row['urlu'].'"><strong>'.$row['user'].'</strong></a><br><small>'.$row['visited'].' bezoeken!</small></li>';
}
}
?>
Zie eens de tweede en derde post. Goh, daar staan dingen die jij niet verwerkt hebt.
Karl Karl op 19/12/2010 22:01:03:
Heb je het nu niet meer?
Leroy schouten op 19/12/2010 21:58:10:
Dit scriptje heb ik gehad !
Heb je het nu niet meer?
** Koffie over toetsenbord....
Is dit scriptje goed ? voor gebruik ? moeten er nog aanpassingen gedaan worden ?
wat is er fout aan de query?
Leroy schouten op 19/12/2010 22:03:33:
Is dit scriptje goed ? voor gebruik ? moeten er nog aanpassingen gedaan worden ?
Het is fout.
Als je even die tutorial opzoekt, dan kan je zelf vinden hoe je zo'n script moet schrijven wat wel correct is.
Mitchel V op 19/12/2010 22:04:24:
wat is er fout aan de query?
Moet ik echt nog een keer op gaan sommen wat er mis is?
Waar moet ik onder zoeken wat zijn de zoekworden ?
Karl Karl op 19/12/2010 22:04:41:
Moet ik echt nog een keer op gaan sommen wat er mis is?
Mitchel V op 19/12/2010 22:04:24:
wat is er fout aan de query?
Moet ik echt nog een keer op gaan sommen wat er mis is?
JA :D
Leroy schouten op 19/12/2010 22:11:36:
Waar moet ik onder zoeken wat zijn de zoekworden ?
Zie dit topic, Karl heeft je al op weg geholpen met de zoektocht.
Sorry maar ben nog niet zo ver met dit soort dingen
Leroy schouten op 19/12/2010 22:14:37:
Sorry maar ben nog niet zo ver met dit soort dingen
Je kreeg van mij een linkie:
site:phphulp.nl beginnershandleiding php
daarop kan je dus klikken. Dan krijg je resultaten. Daarvan klik je het eerste resultaat aan. En dan kom je HIER terecht.
Want ik denk dat ik dan over de fout heen lees :$
Alles ziet er goed uit, behalve de fout-afhandeling om je query heen....
kan hij $mysqlerror in alle soorten gebruiken...
hij kan het naar zich zelf laten mailen, of in een db zetten of in een txt bestand...
of gewoon een echo....
maar dat is natuurlijk aan hem.
Dan kan je prima je eigen afhandeling maken zoals jij het wilt.