login  Naam:   Wachtwoord: 
Registreer je!
 Forum

db/script select verkeerde id

Offline Seneox - 12/08/2006 12:49
Avatar van SeneoxNieuw lid Ik heb dus een nieuws script, en als je dan op read more klikt selecteert ie een verkeerde news id... dat denk ik temiste
hier is 't script: http://plaatscode.be/1905/

Het gaat om lijn 27 t/m 39

Ook als ik limit op 2 zet bijv. dan laat hij gewoon 2 nieuws berichten zien...

bvb

16 antwoorden

Gesponsorde links
Offline Gerard - 12/08/2006 12:56
Avatar van Gerard Ouwe rakker Je dient gebruik te maken van WHERE in je query om MySQL aan te geven welk id hij terug moet geven. Omdat je dan maar 1 item terug krijgt is het niet nodig om met een while-loop te werken.
Offline Maarten - 12/08/2006 13:06
Avatar van Maarten Erelid Speciaal voor jou heb ik dit ook even in de F.A.Q. opgenomen 
http://www.site...cat=3#faq1
Offline Seneox - 12/08/2006 13:18
Avatar van Seneox Nieuw lid Ik heb 't nu zo:
  1. SELECT * FROM nieuws WHERE id = '$id'


Maar werkt niet, bedankt Murfy ;)
Offline Rik - 12/08/2006 13:30
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Gaat hij nu niet kijken of er een id is dat $id heet?

Probeer het zo eens:
  1. 'SELECT * FROM nieuws WHERE id = ' . $id
Offline Nrzonline - 12/08/2006 13:44 (laatste wijziging 12/08/2006 13:49)
Avatar van Nrzonline PHP ver gevorderde
  1. $nid = $_GET['nid'];
.. ofterwijl je maakt $nid aan, en niet $id.. ?

dus probeer dit?
  1. $nwsr = mysql_query("SELECT * FROM nieuws WHERE id = " .$nid) or die(mysql_error());
Een enkel bericht selecteren met een bepaalde waarde, kan echter door een WHERE-statement in je query te plaatsen.

Verder raad ik je aan om mysql_fetch_assoc te gaan gebruiken.
Offline Seneox - 12/08/2006 13:45 (laatste wijziging 12/08/2006 14:02)
Avatar van Seneox Nieuw lid kheb 't nu zo:
  1. $id = $_GET['id'];
  2. $nwsr = mysql_query("SELECT id FROM nieuws WHERE id = '$id'") or die(mysql_error());

Maar dan werkt ie ook niet

edit: Nrzonline ik las je bericht net pas
Offline Nrzonline - 12/08/2006 13:50 (laatste wijziging 12/08/2006 13:57)
Avatar van Nrzonline PHP ver gevorderde Niet dat het uit zou maken voor het resultaat, maar laat je $id nou is buiten quotes, het is een intiger..

wat is je code van je 'read more' knop..? Die kan ik niet echt vinden :/
verder.. beveilig je $_GET is even met is_numeric();
Offline Seneox - 12/08/2006 14:04
Avatar van Seneox Nieuw lid De readmore knop staat op Home.php dit is Commentaar.php in het script zelf zit dus ook een commentaar script in
Offline Nrzonline - 12/08/2006 14:09
Avatar van Nrzonline PHP ver gevorderde Ja maar als die knop de verkeerde 'nid' mee geeft, werkt het natuurlijk ook niet.. Dus als je zeker weet dat het daar allemaal correct werkt moet je het zelf weten.. maar ik zou zeggen, laat het iig even zien ;)
Offline Seneox - 12/08/2006 14:22
Avatar van Seneox Nieuw lid Home.php?
Offline Nrzonline - 12/08/2006 14:29 (laatste wijziging 12/08/2006 14:31)
Avatar van Nrzonline PHP ver gevorderde het stukje script waarbij je de id gaat ophalen, om in de submit knop te kunnen verwerken of in de header ('Location: ..'); of wat dan ook... Waardoor je op de pagina komt die met de opgegeven $nid kan ophalen met de $_GET.. mocht je het niet snappen? Gooi dan gewoon de hele home.php erop.. als het stukje waar je de id mee op haalt en mee geeft er maar in zit..
Offline Seneox - 13/08/2006 11:39
Avatar van Seneox Nieuw lid Oke
Sorry voor mijn late reactie want ik moest werken

  1. ?p=Commentaar&nid=<?php echo $id; ?>
Offline Nrzonline - 13/08/2006 13:29
Avatar van Nrzonline PHP ver gevorderde
Citaat:
het stukje script waarbij je de id gaat ophalen
Citaat:
als het stukje waar je de id mee op haalt en mee geeft er maar in zit..
Offline Seneox - 13/08/2006 17:14
Avatar van Seneox Nieuw lid http://plaatscode.be/1933/

Dat is home.php want ik snap niet wat je bedoelt
Offline Nrzonline - 13/08/2006 19:08
Avatar van Nrzonline PHP ver gevorderde maar ja, het antwoord op je vraag is echt niets anders dan
  1. <?PHP
  2. $nwsr = mysql_query("SELECT * FROM nieuws WHERE id = " .$nid) or die(mysql_error());
  3. ?>


Aangezien dat de enigste oorzaak is van het selecteren van een verkeerd nieuwsbericht na het indrukken van je knop. Voor de rest klopt het zover ik zie.. Omdat je geen WHERE-statement hebt, pakt hij automatisch de twee nieuwste berichten op ID. Ik zou je daar in ieder geval even in verdiepen.. Verder weet ik 't niet..

Ps. houd html buiten je php... aangezien je dat nogal afwisselt ;)
Offline Seneox - 14/08/2006 12:43
Avatar van Seneox Nieuw lid Hehe bedankt voor je hulp, ik heb 't zo opgelost:
  1. <table width="492" border="0" align="center" cellpadding="0" cellspacing="0" style="border-bottom:1px solid #a7a6ac; border-left:1px solid #a7a6ac; border-right:1px solid #a7a6ac; border-bottom:1px solid #a7a6ac;">
  2. <tr>
  3. <td width="4" height="23" style="border-left:0px solid #a7a6ac; border-right:0px solid #a7a6ac; border-bottom:1px solid #a7a6ac;" background="images/block.gif"></td><?php
  4. $nid = $_GET['nid'];
  5. $nws = mysql_query("SELECT * FROM nieuws WHERE id = '$nid'") or die(mysql_error());
  6. $aantal = mysql_num_rows($nws);
  7. if ($aantal == '0'){
  8. echo "Rong id";
  9. }
  10. else{
  11. while ($x = mysql_fetch_object($nws)){
  12. $id=$x->id;
  13. $onderwerp=$x->onderwerp;
  14. $inhoud=$x->inhoud;
  15. $gebruiker=$x->gebruiker;
  16. $tijddatum=$x->tijddatum;
  17. $ip=$x->ip;
  18. $categorie=$x->categorie;
  19. $meerinhoud=$x->meerinhoud;
  20.  
  21. }
  22.  
  23. ?>
  24. <td width="488" style="border-left:0px solid #a7a6ac; border-right:0px solid #a7a6ac; border-bottom:1px solid #a7a6ac;" background="images/block.gif"><b><span class="style1"><?php echo $onderwerp; ?></span></b></td>
  25. </tr>
  26. <tr>
  27. <td height="27" colspan="3" align="left" valign="top" bgcolor="#f5f5f5">
  28. <table width="492" border="0" cellspacing="4" cellpadding="0">
  29. <tr>
  30. <td width="484"><table width="484" border="0" cellspacing="0" cellpadding="0">
  31. <tr>
  32. <td width="429" align="left" valign="top"><table width="404" border="0" cellspacing="0" cellpadding="0">
  33. <tr>
  34. <td width="98"><strong class="zwartdik">Posted by: </strong> </td>
  35. <td width="386" class="zwart"><?php echo $ip; ?></td>
  36. </tr>
  37. <tr>
  38. <td><strong class="zwartdik">Posted on: </strong></td>
  39. <td class="zwart"><?php echo $tijddatum; ?></td>
  40. </tr>
  41. <tr>
  42. <td><strong class="zwartdik">Category:</strong></td>
  43. <td class="zwart"><?php echo $categorie; ?></td>
  44. </tr>
  45. <tr> </tr>
  46. </table>
  47. <?php
  48. $inhoud = ubbparser_cmt($inhoud);
  49. $inhoud = nl2br($inhoud);
  50. echo "<div class='zwart'>" . $inhoud . "</div>";
  51. ?></td>
  52. <td width="55" align="right" valign="top"><a href="?p=Commentaar&amp;nid=<?php echo $id; ?>"></a></td>
  53. </tr>
  54. </table>
  55. <hr width="470">
  56. <?php
  57. $meerinhoud = ubbparser_cmt($meerinhoud);
  58. $meerinhoud = nl2br($meerinhoud);
  59. echo "<div class='zwart'>" . $meerinhoud. "</div>";
  60. ?>
  61. <br />
  62. <br />
  63. <div style="font-size:9px; font-family:Verdana, Arial, Helvetica, sans-serif;">
  64. <div align="right"></div>
  65. </div></td>
  66. </tr>
  67. </table>
  68. </div></td>
  69. </tr>
  70. </table>
  71. <?php
  72. }
  73. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.258s