login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Berichtenbalk

Offline Raze - 07/12/2008 09:54
Avatar van RazePHP beginner Hallo, ik heb volgende code:

  1. <?php
  2. mysql_connect("localhost", "user", "pass");
  3. mysql_select_db("berichtenbalk");
  4.  
  5. $message = mysql_query("SELECT * FROM berichtenbalk ORDER BY id DESC");
  6. while ($msg = mysql_fetch_object($message))
  7. {
  8. ?>
  9. <table border="1">
  10. <td width="350px"><marquee scrollamount="3" loop="-1"><?php echo $msg->naam.""?> | <?php echo $msg->bericht.""?> | </marquee></td>
  11. <td width="150px" align="center"><a href="nieuw.php">Nieuw bericht</a></td>
  12. </table>
  13. <?php
  14. }
  15. mysql_free_result($message);
  16. ?>


Het probleem is nu dat die voor ieder bericht in de database een nieuwe tabel maakt, ipv dit bericht gevoon achter het vorige bericht te plaatsen in dezelfde marquee.

Oh ja ik vraag me ook af welke code je moet gebruiken om enkel de 20 nieuwste berichten te tonen.

5 antwoorden

Gesponsorde links
Offline kickasgamer - 07/12/2008 10:08
Avatar van kickasgamer PHP ver gevorderde probeer het zo eens: http://plaatscode.be/49727/
Offline Raze - 07/12/2008 10:58
Avatar van Raze PHP beginner mmmh nu doet hij hetzelfde maar toch iets anders...
bij mij maakt hij telkens een nieuwe tabel onder mijn vorige, bij jouw maakt hij voor elk bericht ook een nieuwe tabel, maar worden de tabellen achter elkaar gezet...

ik ga eens proberen wat te "spelen" met de { } misschien dat ik dan toevallig tot de oplossing kom  (zou niet de eerste keer zijn bij mij  )
Offline kickasgamer - 07/12/2008 11:13
Avatar van kickasgamer PHP ver gevorderde dan moet het zo volgens mij 

http://plaatscode.be/49735/
Offline djb - 08/12/2008 09:24
Avatar van djb PHP beginner Ik denk zoiets 

  1. <?php
  2. mysql_connect("localhost", "user", "pass");
  3. mysql_select_db("berichtenbalk");
  4. ?>
  5. <table border="1">
  6. <td width="350px"><marquee scrollamount="3" loop="-1"><?php
  7. $message = mysql_query("SELECT * FROM berichtenbalk ORDER BY id DESC LIMIT 20");
  8. while ($msg = mysql_fetch_object($message))
  9. {
  10. echo $msg->naam."|".$msg->bericht."|";
  11. }
  12. ?></marquee>
  13. </td>
  14. <td width="150px" align="center"><a href="nieuw.php">Nieuw bericht</a></td>
  15. </table>
  16. <?php
  17. mysql_free_result($message);
  18. ?>


Snel getest en hier ging het dacht ik allemaal goed 
Offline Kr4nKz1n - 08/12/2008 10:12
Avatar van Kr4nKz1n Onbekend Geen * gebruiken. Zet i.p.v. de * alle veld namen die je nodig hebt.

  1. SELECT naam, bericht


Ook is het beter, sneller etc. om mysql_fetch_assoc te gebruiken i.p.v. mysql_fetch_object.

Want $msg is helemaal geen object.

  1. <?php
  2. $message = mysql_query("SELECT naam, bericht FROM berichtenbalk ORDER BY id DESC LIMIT 20");
  3. while ($msg = mysql_fetch_assoc($message))
  4. {
  5. echo $msg['naam']."|".$msg['bericht']."|";
  6. }
De uitkomst wordt terug gegeven als een array.

En je SQL is Nederlands (tabel en veld namen) maar je php code is Engels. Dat is ook jammer.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.276s