login  Naam:   Wachtwoord: 
Registreer je!
 Forum

de laatste 5 nieuwe (Opgelost)

Offline strikedancer - 05/07/2007 23:56
Avatar van strikedancerOnbekend Hey, hoe kan ik de laatste 5 nieuwe aanmeldingen uit een mysql database weer geven.

18 antwoorden

Gesponsorde links
Offline CDNC - 06/07/2007 00:02 (laatste wijziging 06/07/2007 00:02)
Avatar van CDNC PHP ver gevorderde
  1. $sql = 'blabla ORDER BY regDate';

Waarbij dan regDate de datum van registertie is..
Offline Ultimatum - 06/07/2007 00:09
Avatar van Ultimatum PHP expert Wel DESC erachter zetten, anders krijg je de 5 oudste
Offline strikedancer - 06/07/2007 00:44
Avatar van strikedancer Onbekend Hey, mijn php kennis is niet 100% 
Zou iemand mischien beter uit kunnen leggen?
Offline Ultimatum - 06/07/2007 00:51
Avatar van Ultimatum PHP expert Ga dan tutorials volgen, dit is standaard mysql..
Offline Abbas - 06/07/2007 00:56
Avatar van Abbas Gouden medaille

Crew .NET
Moet er geen 'LIMIT' bij?
  1. <?php
  2. $query = "SELECT iets FROM tabel ORDER BY regDate DESC LIMIT 5";
Offline Stijn - 06/07/2007 01:21 (laatste wijziging 06/07/2007 01:21)
Avatar van Stijn PHP expert Inderdaad titjes. De laatste 5 leden zijn de laatste 5 records. Hoe selecteer je die? Door ze omgekeerd te sorteren en de eerste 5 selecteren. Dat is de uitleg die hoort bij titjes script.

  1. <?
  2. $query = "SELECT * FROM tabel ORDER BY id DESC LIMIT 5";
Offline strikedancer - 06/07/2007 01:21 (laatste wijziging 06/07/2007 01:24)
Avatar van strikedancer Onbekend Oke, en hoe laat ik die query dan daadwerkelijk zien in beeld?
:$
Want ik wil dan op de begin pagina van mijn site de vijf niewe leden laten zien met foto.

en daar onder hun gebruikers naam.
Offline Stijn - 06/07/2007 01:47
Avatar van Stijn PHP expert (normaal doe ik dit niet maar het is al laat)

Je moet je SQL eerst uitvoeren. Daarna moet je de resultaten vangen en weergeven. Omdat je meerdere rijen hebt (5 resultaten) ga je dus een while moeten gebruiken. Als je maar één resultaat ophaalt is de while helemaal niet nodig. (je moet de $sql aanpassen, want ik ken je tabel niet).

  1. <?
  2. $sql = "SELECT * FROM tabel ORDER BY id DESC LIMIT 5";
  3. $query = mysql_query( $sql ) or die( mysql_error() );
  4.  
  5. //de query is uitgevoerd
  6. //we gaan nu de resultaten opvangen en weergeven
  7.  
  8. while( $row = mysql_fetch_assoc( $query ) ) { //we starten bij 1 en deze loop gaat door tot hij aan het laatste resultaat is gekomen.
  9. echo $row['foto']; //zoals je ziet wordt het resultaat zo aangeroepen: $row['kolom naam'];
  10. }
Offline strikedancer - 06/07/2007 01:52
Avatar van strikedancer Onbekend Oke, dus als ik het goed heb
moet ik het dan zo neer zetten.
  1. <?
  2. $sql = "SELECT * FROM member ORDER BY loginName DESC LIMIT 5";
  3. $query = mysql_query( $sql ) or die( mysql_error() );
  4.  
  5. //de query is uitgevoerd
  6. //we gaan nu de resultaten opvangen en weergeven
  7.  
  8. while( $row = mysql_fetch_assoc( $query ) ) { //we starten bij 1 en deze loop gaat door tot hij aan het laatste resultaat is gekomen.
  9. echo $row['foto']; //zoals je ziet wordt het resultaat zo aangeroepen: $row['kolom naam'];
  10. }


Want het moet uit de tabel meber komen.
En de auto_increment staat bij loginName.

of heb ik het nou mis.

Ik heb al bij de tutorials gekeken maar vind over dit onderwerp niks terug.
Offline Stijn - 06/07/2007 02:02
Avatar van Stijn PHP expert Nee het is goed, probeer maar Zorg wel dat je verbinding maakt met je mysql server.
Offline Abbas - 06/07/2007 02:30
Avatar van Abbas Gouden medaille

Crew .NET
En als je de naam er bij wil moet je niet enkel $row['foto'], maar ook $row['naam'] erbij zetten. vb:

  1. <?php
  2.  
  3. $sql = "SELECT * FROM member ORDER BY loginName DESC LIMIT 5";
  4. $query = mysql_query( $sql ) or die( mysql_error() );
  5.  
  6. while($row = mysql_fetch_assoc($query))
  7. {
  8. echo $row['user_name'];
  9. echo $row['foto'];
  10. echo "<br />";
  11. }
Offline strikedancer - 06/07/2007 02:36
Avatar van strikedancer Onbekend Hey, bedankt ben al een eind gekomen.

maar nog 1 vraagje, <br /> staat als het goed is voor een regel naar beneden voor volgende weer gaven even makkelijk gezecht.

maar ik wil ze naast elkaar wat moet ik dan neer zetten?
Offline Abbas - 06/07/2007 02:46
Avatar van Abbas Gouden medaille

Crew .NET
Als je alle gebruikers gewoon naast elkaar wilt weergeven haal je die "<br />" weg...
Offline Nrzonline - 06/07/2007 06:20 (laatste wijziging 06/07/2007 06:29)
Avatar van Nrzonline PHP ver gevorderde
  1. <?PHP
  2.  
  3. $iLimit = 5;
  4.  
  5. $sql = "SELECT * FROM member ORDER BY loginName DESC LIMIT " . $iLimit;
  6. $query = mysql_query( $sql ) or die( mysql_error() );
  7.  
  8. $i = 0;
  9. while($row = mysql_fetch_assoc($query))
  10. {
  11. $i++;
  12. if ($i != $iLimit);
  13. {
  14. $sSplit = ", ";
  15. }
  16. else
  17. {
  18. $sSplit = "";
  19. }
  20.  
  21. echo $row['user_name'] . " " . $row['foto'] . $sSplit;
  22. }
  23. ?>

Resulteert in:
Naam1 [Foto1], Naam2 [Foto2], Naam3 [Foto 3], Naam4 [Foto4], Naam5 [Foto5]

Als je het plaatje en de naam onder elkaar wilt, zou je dit bijvoorbeeld met tabellen kunnen doen.

  1. <?PHP
  2.  
  3. $sql = "SELECT * FROM member ORDER BY loginName DESC LIMIT 5";
  4. $query = mysql_query( $sql ) or die( mysql_error() );
  5.  
  6. echo '<table cellspacing="0" cellpadding="0">';
  7. echo '<tr>';
  8. while($row = mysql_fetch_assoc($query))
  9. {
  10. echo '<td>';
  11. echo $row['foto'] . '<br />';
  12. echo $row['user_name'];
  13. echo '</td>';
  14. }
  15. echo '</tr>';
  16. echo '</table>';
  17. ?>

Reulteert in:
  1. [Foto1] [Foto2] [Foto3] [Foto4] [Foto5]
  2. Naam1 Naam2 Naam3 Naam4 Naam5
Offline strikedancer - 06/07/2007 06:34
Avatar van strikedancer Onbekend Hey dankje wel even nog een vraagje zou ik
  1. ['foto']

een waarde kunne geve om alles over zichtelijk te houden want anders moet ik dit
  1. <img src='/menu/leden/site/foto/".$data['email']."_".$data['foto']."' width='300' height='300'>
er tussen moeten voegen en dan blijft het niet overzichtelijk in het script?
Offline Koen - 06/07/2007 13:41
Avatar van Koen PHP expert Je bedoelt zoiets als:
  1. <?
  2. echo '<table cellspacing="0" cellpadding="0">';
  3. echo '<tr>';
  4. while($row = mysql_fetch_assoc($query))
  5. {
  6. $photo = "<img src='/menu/leden/site/foto/".row['user_name']."_".$row['foto']."' width='300' height='300'>";
  7. echo '<td>';
  8. echo $photo . '<br />';
  9. echo $row['user_name'];
  10. echo '</td>';
  11. }
  12. echo '</tr>';
  13. echo '</table>';
  14. ?>

?
Offline AgentX - 06/07/2007 14:41
Avatar van AgentX HTML beginner auto_increment staat bij loginName?? bedoel je niet iets van ID?
Ik kan me niet echt voorstellen dat je moet inloggen met 1,2,3,4,5 enz..

Of ben ik nou gek? 
Offline strikedancer - 06/07/2007 16:20
Avatar van strikedancer Onbekend nee is mijn fout geweest staat geen auto_increment bij 

lag half te slapen denk 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.309s