login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Naam tellen uit database..

Offline Chupskie - 12/03/2006 15:34 (laatste wijziging 12/03/2006 15:35)
Avatar van ChupskieMySQL beginner Ik probeer een top 5 met meest gepost users (en dadelijk ook met minst geposte users)
Dit wil ik eigenlijk zou zien hebben:
-> Harry (112)
-> Jantje (78)
,enzovoort..

Totzover ben ik, maar hij selecteert maar 1 gebruiker, en volgens mij ook niet eens de goede gebruiker.

  1. <?php
  2. echo "<table border=0>";
  3. $select= "SELECT name AS name, COUNT(*) AS telnu FROM k2gastenboek Group BY name ORDER BY name";
  4. $query = mysql_query($select)or die(mysql_error());
  5. $showit = mysql_fetch_object($query);
  6.  
  7. $tellen = mysql_query("SELECT name, COUNT(*) AS telling FROM k2gastenboek Group BY name LIMIT 10")or die(mysql_error());
  8. $shownu = mysql_fetch_object($tellen);
  9.  
  10. echo"<tr><td>-> ".$shownu->name."</td><td>( ".$shownu->telling." )</td></tr>";
  11. echo "</table> ";
  12. ?>


Weet iemand hoe ik simpel de naam + het aantal geposte berichten eruit krijg??:'( 

Citaat:
Rensjuh edit:
[..code..]tags![/code]

9 antwoorden

Gesponsorde links
Offline WimJ - 12/03/2006 15:38 (laatste wijziging 12/03/2006 15:40)
Avatar van WimJ Grafische gevorderde plaats van $tellen al is $count geprobeerd ?

EDIT: zal weinig uitmaken denk ik zal eens zien in mijn bijbel..
Het boek "PHP&MySQL voor dummies" ..
Offline Chupskie - 12/03/2006 15:44 (laatste wijziging 12/03/2006 15:44)
Avatar van Chupskie MySQL beginner Ik neem dat je dit bedoelt, ander snap ik niet wat je bedoeld!

  1. $count = mysql_query("SELECT name, COUNT(*) AS telling FROM k2gastenboek Group BY name LIMIT 3")or die(mysql_error());
  2. $shownu = mysql_fetch_object($count);


Of wat bedoel je precies?
edit: khad jou edit nog niet gezien, maar dit levert natuurlijk geen verschil op. Nog andere ideeen?
Offline WimJ - 12/03/2006 15:47 (laatste wijziging 12/03/2006 15:49)
Avatar van WimJ Grafische gevorderde jah mss wel jah anders moeten we is proberen..

Dat hij de namen opvraagt en ordert met een maximum van 5 en dat groter dan en kleiner dan eventueel met $get ofzo ?

EDIT: maar het bestaat horo zoals bij die game www.travian.nl en bij elke criminals game zit het ook maar hoe ik zal er anders is een open smijten en is een kijkje nemen..
Offline Chupskie - 12/03/2006 15:49
Avatar van Chupskie MySQL beginner jah je bedoelt gewoon alles SELECT'en dan een LIMIT erop.. en kleiner dan? zo < ofzo ??
Offline WimJ - 12/03/2006 15:50 (laatste wijziging 12/03/2006 15:51)
Avatar van WimJ Grafische gevorderde jah idd ?

EDIT: zou dat niet gaan soms ofzo en anders zal ik een skijken in een criminals game ofzo ..
Offline Chupskie - 12/03/2006 15:52
Avatar van Chupskie MySQL beginner Nou het is gewoon bedoeld voor een gastenboek, wie de meeste (top10) en wie de minste (top10) berichten heeft gepost in het gastenboek!

maar kzal toch ook de functie COUNT moeten gebruiken??
anders kun je met mysql niet de rijen tellen!??
Offline WimJ - 12/03/2006 15:53 (laatste wijziging 12/03/2006 15:58)
Avatar van WimJ Grafische gevorderde jah eeuhm functie count ik zal een skijken nog is in mijn holy bijbel de boek voor dummies 

EDIT: SELECT COUNT(*) AS aantalkeer,naam FROM tabelnaam GROUP BY naam
ORDER BY aantalkeer DESC LIMIT 1,3
print de eerste drie

SELECT COUNT(*) AS aantalkeer,naam FROM tabelnaam GROUP BY naam
ORDER BY aantalkeer DESC LIMIT 4,7
print nr 4 tot en met nr 7


en je moet is een kijkje nemen op de volgende link heeft juist het zelfde probleem aleen wat meer reacties en antwoorden die werken ;)

http://www.phpf...8#id791599
Offline Chupskie - 12/03/2006 16:13 (laatste wijziging 12/03/2006 16:13)
Avatar van Chupskie MySQL beginner Het was mezelf net ook gelukt, maar toch bedankt voor je moeite!
Dit is mijn werkende code:

  1. <?php
  2.  
  3. echo "Wie heeft er het meest gepost?<br>";
  4.  
  5. $sql = mysql_query("SELECT name, COUNT(name) AS tel FROM k2gastenboek GROUP BY name ORDER BY tel DESC LIMIT 10") or die(mysql_error());
  6. if(mysql_num_rows($sql))
  7. {
  8.  
  9. echo "<table border=0>";
  10.  
  11. while($test = mysql_fetch_object($sql))
  12. {
  13. echo"<tr><td>-> ".$test->name."</td><td>- ".$test->tel."</tr>";
  14. }
  15.  
  16. echo "</table> ";
  17.  
  18. }
  19. else
  20. {
  21. echo 'Er staan nog geen post in dit gedeelte.';
  22. }
  23.  
  24. ?>


en voor de top10 met minste kun je dezelfde code gebruiken, alleen dan gebruik ASC ipv DESC!!!

Maar toch bedankt voor je moeite ;) 

Citaat:
Rensjuh edit:
[..code..]tags![/code]
Offline WimJ - 12/03/2006 16:18
Avatar van WimJ Grafische gevorderde graag gedaan daar zijn we voor eh
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.234s