login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken in DB met meerdere results?

Offline Guardian - 02/04/2006 23:50 (laatste wijziging 03/04/2006 01:17)
Avatar van GuardianNieuw lid llo, hier ben ik weer,

Ik ben aan een soort van zoekmachine aan het werken,
nu zit ik een beetje vast met het benaderen van mn info wanneer er meerdere resultaten zijn, kan iemand me ff op weg helpen?

  1. <?php
  2. $query = "select * from pc_info where serial LIKE'%".$serienummer."%'";
  3. $result = mysql_query($query) or die("Could not execute the query to the database");
  4. $count = mysql_num_rows($result);
  5. //als er resultaat is van de zoekactie
  6. if($count > 0)
  7. {
  8. $data = mysql_fetch_array($result);
  9. $id = $data["id"];
  10. if($count == 1)
  11. {
  12. echo("Er werd $count resultaat gevonden<br><a href=?action=show&id=".$data['id'].">Toon</a>");
  13. }
  14. else
  15. {
  16. echo("Er werden $count resultaten gevonden<br>");
  17.  
  18. for($i=0; $i < $count; $i++)
  19. {
  20. echo("<a href=?action=show&id=".$data['id'].">".$data['serial']."<img class='image' src='images/view.jpg'></a><br>");
  21. }
  22. }
  23. }
  24. else
  25. {
  26. echo("<div align='center'><img src='images/delete.gif'><br>Geen resultaten gevonden<br><a href='?page=search'>Click here to go back</a>u zocht op $serienummer</div>");
  27. }


Nu neemt ie telkens enkel het eerste item in de db dat ie tegenkwam...

3 antwoorden

Gesponsorde links
Offline vinTage - 03/04/2006 02:03
Avatar van vinTage Nieuw lid Ik kan mis zijn, maar volgens mij klopt er van dat hele scriptje niet veel,,,stel dat je 100 resultaten hebt, dan echoed hij door die for lus 100 keer dezelfde link..

Als je dat nog niet voor hebt gehad, dan is het waarschijnlijk logisch dat hij de "eerste" neemt uit je db, want er zit er maar ééntje in.

Je kan beter gewoon alles echoen in een while loopje, ongeveer zoeit als hieronder :
  1. <?
  2. $query = "select * from pc_info where serial LIKE'%".$serienummer."%'";
  3. while ($data = mysql_fetch_array($query))
  4. {
  5. echo "<a href=?action=show&id=".$data['id'].">".$data['serial']."<img class='image' src='images/view.jpg'></a><br>" ;
  6. }


Offline Gerard - 03/04/2006 02:07
Avatar van Gerard Ouwe rakker Volgens mij wordt bij een for-lus de interne pointer van MySQL niet naar een volgende regel verplaatst. Je kan het dus het beste uitlezen met een while loop zoals vinTage aangeeft.
Offline Guardian - 03/04/2006 10:53 (laatste wijziging 03/04/2006 11:12)
Avatar van Guardian Nieuw lid @vinTage: ja, heb je gelijk in, ik was er gewoon aan begonnen met 1 resultaat om te proberen en wou zo uitbreiden maar zoals je al aangaf ging dat dus niet...

Ik ga metteen die oplossing even proberen van je 

Bedankt
[EDIT]
Het werkt perfect bedankt 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s