login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MySQL resultaten

Offline UpLink - 20/04/2010 21:35
Avatar van UpLink... Beste leden,

Ik zit een beetje vast. Ik ben nog niet een gevorderd iemand in PHP/MySQL en ik loop dus met momenten wat vast. Ik wil enkele dingen realiseren, maar ik kom er gewoon niet uit.

Dit heb ik voorlopig al om uit de database info te halen en dat werkt. Alleen krijg ik deze niet gerangschikt volgens aantal ipv volgens alfabet.

  1. <?php
  2.  
  3.  
  4. $qy = "SELECT user, COUNT(user) FROM `mp3player_liedjes` GROUP BY user ASC";
  5.  
  6. $result = mysql_query($qy) or die(mysql_error());
  7.  
  8. while($row = mysql_fetch_array($result)){
  9. echo "". $row['user'] ." uploadde ". $row['COUNT(user)'] ." liedje(s).";
  10. echo "<br />";
  11. }
  12. ?>


Ik kan uit de database niet het aantal ophalen dus heb ik dit gedaan met COUNT. De vraag is dus hoe kan ik het rangschikken volgens aantal?

Mijn 2de vraag is:
Resultaten uitsluiten (bijvoorbeeld enkel de gebruiker weergeven met de meeste uploads). Hoe doe ik dat of hoe begin ik daar aan?


Alvast bedankt.

7 antwoorden

Gesponsorde links
Offline Raze - 20/04/2010 22:33 (laatste wijziging 20/04/2010 22:33)
Avatar van Raze PHP beginner Vraag 1: SELECT user,count(user) AS c_user FROM mp3player_liedjes ORDER BY c_user ASC

en dan $row['user'] en $row['c_user'] gebruiken

kan fout zijn, maar ik denk dat het zoiets is

Vraag 2: met een LIMIT 1
Offline UpLink - 21/04/2010 09:27 (laatste wijziging 22/04/2010 07:15)
Avatar van UpLink ...
Raze schreef:
Vraag 1: SELECT user,count(user) AS c_user FROM mp3player_liedjes ORDER BY c_user ASC

en dan $row['user'] en $row['c_user'] gebruiken

kan fout zijn, maar ik denk dat het zoiets is

Vraag 2: met een LIMIT 1


Als ik deze gebruik, krijg ik het aantal keer de gebruikersnaam op mijn scherm van het aantal keer die gebruiker een liedje geupload had.

Met die LIMIT 1 krijg ik ook niet echt het gewenste resultaat...
Offline ArieMedia - 22/04/2010 09:06 (laatste wijziging 22/04/2010 09:07)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
  1. SELECT g.naam AS user,
  2. COUNT(m.user) AS aantal
  3. FROM mp3player_liedjes AS m
  4. INNER JOIN gebruikers AS g ON (m.user = g.id)
  5. GROUP BY g.naam
  6. ORDER BY aantal DESC
Offline gnotrgnotr - 22/04/2010 19:02
Avatar van gnotrgnotr Nieuw lid zoiets?
  1. <?php
  2. $query = mysql_query("SELECT * FROM mp3player_liedjes WHERE user GROUP BY user ASC LIMIT 1");
  3.  
  4. while ($row = mysql_fetch_assoc($query)){
  5. echo "". $row['user'] ." uploadde ".mysql_num_rows($query)." liedje(s).";
  6. }
  7.  
  8. ?>
Offline UpLink - 01/05/2010 00:38 (laatste wijziging 01/05/2010 00:39)
Avatar van UpLink ... Ik krijg het niet voor elkaar. Ik heb echt vanalles geprobeerd maar het wil ni lukken.

het eerst stuk werkt wel, maar het tweede stuk geeft totaal niks weer.

  1. <?php
  2. $qy = "SELECT id, COUNT(id) FROM `flashcoms_mp3player_songs`";
  3. $result = mysql_query($qy) or die(mysql_error());
  4.  
  5. while($row = mysql_fetch_array($result)){
  6. echo "Aantal liedjes momenteel in de database:". $row['COUNT(id)'] ." ";
  7. echo "<br />";
  8. }
  9.  
  10. // Hierboven is het eerste deel en dat werkt wel.
  11.  
  12.  
  13.  
  14. // Hieronder is het 2de deel en dat doet helemaal niets.
  15.  
  16. $quer = "SELECT * FROM `flashcoms_mp3player_songs` WHERE user GROUP BY user ASC LIMIT 1";
  17. $res = mysql_query($quer) or die (mysql_error());
  18.  
  19. while ($row = mysql_fetch_assoc($res)){
  20. echo "Meeste uploads: ". $row['user'] ." ".mysql_num_rows($quer).".";
  21. echo "<br />";
  22. }
  23. ?>
Offline kiwi - 01/05/2010 12:39 (laatste wijziging 01/05/2010 12:39)
Avatar van kiwi Nieuw lid
  1. $quer = "SELECT * FROM `flashcoms_mp3player_songs` ORDER BY <tabel_teller_uploads> DESC LIMIT 1";


vervang wel <tabel_teller_uploads> door de juiste naam
Bedankt door: UpLink
Offline UpLink - 01/05/2010 14:04 (laatste wijziging 01/05/2010 14:11)
Avatar van UpLink ... Ik ben nu al iets verder geraakt met mijn grote probleem (en ineens leerproces).

Nu is mijn vraag, hoe kan ik de weergegeven MySQL-resultaten sorteren (ik laat ze nu sorteren op artist)?
Als iemand die lijst bekijkt en bijvoorbeeld wil sorteren op titel of user, hoe kan ik dat dan doen?

dit heb ik voorlopig al klaargespeeld:

  1. <table border=1 class='main'>
  2. <tr>
  3. <th>ID</th>
  4. <th>Artiest</th>
  5. <th>Titel</th>
  6. <th>Uploader</th>
  7. </tr>
  8.  
  9. <?php
  10.  
  11. $qu = mysql_query("SELECT * from `flashcoms_mp3player_songs` ORDER BY artist");
  12.  
  13. while ($row = mysql_fetch_array($qu)){
  14.  
  15. $id = $row['id'];
  16. $artiest = $row['artist'];
  17. $titel = $row['title'];
  18. $uploader = $row['user'];
  19.  
  20. ?>
  21.  
  22. <tr>
  23. <th><?php echo $id;?></th>
  24. <th><?php echo $artiest;?></th>
  25. <th><?php echo $titel;?></th>
  26. <th><?php echo $uploader;?></th>
  27. </tr>
  28.  
  29. <?php } ?>
  30.  
  31. </table>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.303s