login  Naam:   Wachtwoord: 
Registreer je!
 Forum

While werkt neit hoe werkt ie wel?

Offline tomtom - 07/06/2006 21:23
Avatar van tomtomNieuw lid Hallo,
Ik wil de laatste 3 gepostee berichte laten zien ik heb nu dit:

  1. $select1 = "SELECT * FROM berichten ORDER BY id DESC LIMIT 0,3 WHERE gebruikersnaam='".addslashes($_GET[naam])."'";
  2. $query1 = mysql_query($select1);
  3. $aantal1 = mysql_num_rows($query1);
  4.  
  5. if($aantal1 == "0")
  6. {
  7. while ($list = mysql_fetch_object($query1))
  8. {
  9. $bericht = $list->gebruikersnaam;
  10. include "smiley.php";
  11. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>".$bericht."</font></span></b><br>
  12. <br><center><a href='profiel.php?naam=".$list->berichtnaam."' target='_blank'></a> ".$list->datum." ".$list->tijd."</center></font></span></b><br><hr><br>";
  13. }
  14. }else
  15. {
  16. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>Geen berichten!</font></span></b>";
  17. }


Hij weergeeft nu de heletijd dat er geen berichten zijn. Maar er staan er wel 3 in mijn database hoe meot ik eht dan make?

Groetjes Tom,:?:

11 antwoorden

Gesponsorde links
Offline GTW - 07/06/2006 21:25 (laatste wijziging 07/06/2006 21:26)
Avatar van GTW Gouden medaille

PHP gevorderde
$aantal1=="0"
--->
$aantal > 0

Anders zal deze dus altijd als er 0 berichten zijn een while loop gaan uitvoeren 
Offline tomtom - 07/06/2006 21:27
Avatar van tomtom Nieuw lid
  1. $select1 = "SELECT * FROM berichten ORDER BY id DESC LIMIT 0,3 WHERE gebruikersnaam='".addslashes($_GET[naam])."'";
  2. $query1 = mysql_query($select1);
  3. $aantal1 = mysql_num_rows($query1);
  4.  
  5. if($aantal1 != 0)
  6. {
  7. while ($list = mysql_fetch_object($query1))
  8. {
  9. $bericht = $list->gebruikersnaam;
  10. include "smiley.php";
  11. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>".$bericht."</font></span></b><br>
  12. <br><center><a href='profiel.php?naam=".$list->berichtnaam."' target='_blank'></a> ".$list->datum." ".$list->tijd."</center></font></span></b><br><hr><br>";
  13. }
  14. }else
  15. {
  16. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>Geen berichten!</font></span></b>";
  17. }


Dit is wa tik nu heb het moest idd != 0 zijn anders klopt he tniet maar Hij geef tnog teed sgeen berichten weer..
Offline finduilas - 07/06/2006 21:28
Avatar van finduilas PHP gevorderde
  1. $select1 = "SELECT * FROM berichten ORDER BY id DESC LIMIT 0,3 WHERE gebruikersnaam='".addslashes($_GET[naam])."'";
  2. $query1 = mysql_query($select1);
  3. $aantall = mysql_num_rows($query1);
  4. if (aantall == 0){
  5. echo 'Er zijn op het moment geen berichten...';
  6. }
  7. else
  8. {
  9. ...
  10. }
Offline GTW - 07/06/2006 21:31 (laatste wijziging 07/06/2006 21:36)
Avatar van GTW Gouden medaille

PHP gevorderde
krijg je nog wel die text dat er geen berichten zijn? anders zit er dus ergens een fout in de query

maak daar eens van:
  1. $query1 = mysql_query($select1) or die(mysql_error());

Dan weet je of daar de fout zit

en het is .addslashes($_GET['naam']). ipv .addslashes($_GET[naam]). in je query
Offline marten - 07/06/2006 21:52
Avatar van marten Beheerder http://www.plaatscode.be/629/
Offline tomtom - 07/06/2006 22:59
Avatar van tomtom Nieuw lid ik heb nu:
  1. $gebrnaam = $_GET['naam'];
  2. $krijg = "SELECT * FROM berichten ORDER BY id DESC LIMIT 0,3 WHERE gebruikersnaam='".$gebrnaam."'";
  3. $voer = mysql_query($krijg) or die(mysql_error());
  4. $rijen = mysql_num_rows($voer) or die(mysql_error());
  5. if(mysql_num_rows($voer) > 0) {
  6. while ($list = mysql_fetch_object($query1)) {
  7. $list = mysql_fetch_object($voer) or die(mysql_error());
  8. $bericht = $list->gebruikersnaam;
  9. include "smiley.php";
  10. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>".$bericht."</font></span></b><br>
  11. <br><center><a href='profiel.php?naam=".$list->berichtnaam."' target='_blank'></a> ".$list->datum." ".$list->tijd."</center></font></span></b><br><hr><br>";
  12. }
  13. }else
  14. {
  15. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>Geen berichten!</font></span></b>";
  16. }


Dit is de error:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE gebruikersnaam='tomtom'' at line 1

Wat moet ik dan veranderen?:?:
Offline Ultimatum - 07/06/2006 23:02
Avatar van Ultimatum PHP expert WHERE moet voor ORDER BY en LIMIT
Offline tomtom - 07/06/2006 23:08
Avatar van tomtom Nieuw lid ok nu heb ik:
  1. $gebrnaam = $_GET['naam'];
  2. $krijg = "SELECT * FROM berichten WHERE gebruikersnaam='".$gebrnaam."' ORDER BY id DESC LIMIT 0,3";
  3. $voer = mysql_query($krijg) or die(mysql_error());
  4. $rijen = mysql_num_rows($voer) or die(mysql_error());
  5. if(mysql_num_rows($voer) > 0) {
  6. while ($list = mysql_fetch_object($query1)) {
  7. $bericht = $list->gebruikersnaam;
  8. include "smiley.php";
  9. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>".$bericht."</font></span></b><br>
  10. <br><center><a href='profiel.php?naam=".$list->berichtnaam."' target='_blank'></a> ".$list->datum." ".$list->tijd."</center></font></span></b><br><hr><br>";
  11. }
  12. }else
  13. {
  14. echo "<font face='Verdana'><span style='font-size: 9pt; font-weight:700'><b>Geen berichten!</font></span></b>";
  15. }


Nu weergeeft hij gewoon helemaal niks geen fouten en geen berichten en ook niet dat er geen berichten zijn..
Offline marten - 07/06/2006 23:41
Avatar van marten Beheerder probeer je query eens in je phpmyadmin
Offline Rens - 08/06/2006 08:28
Avatar van Rens Gouden medaille

Crew algemeen
  1. while ($list = mysql_fetch_object($query1)) {

Moet wel je uitgevoerde resultset worden hè...
  1. while ($list = mysql_fetch_object($voer)) {
Offline xSc - 08/06/2006 11:56
Avatar van xSc Onbekend Je script is hopeloos. Ook je HTML is pure bagger. Begin alsjeblieft aan het begin, want hier heb je niets aan. Ik moet je echter wel een pluim geven omdat je addslashes() hebt gebruikt om MySQL-injection te voorkomen:!:
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.255s