login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken

Offline Youri_S - 25/01/2006 19:25 (laatste wijziging 25/01/2006 19:26)
Avatar van Youri_SNieuw lid Luitjes

Alé hé. Ik heb een zoekmachine gemaakt maar deze werkten niet helemaal lekker. Zodra ik op zoeken druk en ik heb een gebruikersnaampje ingevuld dan geeft hij 50 dingen uit de tabel weer!

  1. <?php
  2. } else {
  3. $query_zoek = mysql_query("SELECT * FROM leden WHERE gebruikersnaam LIKE '%$_POST[gebruikersnaam]%' OR volledige_naam LIKE '%$_POST[voornaam]%' OR volledige_achternaam LIKE '%$_POST[voornaam]%' OR geslacht LIKE '%$_POST[geslacht]%' OR woonplaats LIKE '%$_POST[woonplaats]%' OR vrijgezel LIKE '%$_POST[vrijgezel]%' OR email LIKE '%$_POST[email]%' OR msn LIKE '%$_POST[msn]%' OR skype LIKE '%$_POST[skype]%' OR icq LIKE '%$_POST[icq]%' LIMIT 50") or die (mysql_error());
  4. $a_zoek = mysql_num_rows($query_zoek);
  5.  
  6. if($a_zoek == "0"){
  7. echo "<p align='center'>Oeps</p>";
  8. }
  9. while ($zoek = mysql_fetch_assoc($query_zoek)) {
  10. echo $zoek['gebruikersnaam'];
  11. echo '<br />';
  12.  
  13. }
  14. }
  15.  
  16. ?>


Kunde iemand mijn tips geven?

3 antwoorden

Gesponsorde links
Offline webstab - 25/01/2006 19:27 (laatste wijziging 25/01/2006 19:31)
Avatar van webstab PHP ver gevorderde Je werkt met OR, een van de andere voorwaarden zal voldaan zijn. [Wanneer een variable niet bestaat of leeg is]
  1. <?php $query_zoek = mysql_query("SELECT * FROM leden WHERE gebruikersnaam LIKE '%".$_POST['gebruikersnaam']."%' AND volledige_naam LIKE '%".$_POST['voornaam']."%' AND volledige_achternaam LIKE '%".$_POST['voornaam']."%' AND geslacht LIKE '%".$_POST['geslacht']."%' AND woonplaats LIKE '%".$_POST['woonplaats']."%' AND vrijgezel LIKE '%".$_POST[vrijgezel]."%' AND email LIKE '%".$_POST['email']."%' OR msn LIKE '%".$_POST['msn']."%' AND skype LIKE '%".$_POST['skype']."%' AND icq LIKE '%".$_POST['icq']."%' LIMIT 50") or die (mysql_error());
Maar nog beter is gewoon telkens aan kijken of dat veld is ingevuld
  1. $where = "WHERE ";
  2. if (!empty(veld)) {
  3. $where .= " veld LIKE '%veld%' AND ";
  4. }
  5. // herhaal if voor ander velden
  6. $where .= "1=1"; // anders eindig where op 'and'
  7. Query= SELECT * FROM BLA ".$where." LIMIT 50
Offline timo - 25/01/2006 19:28 (laatste wijziging 25/01/2006 19:29)
Avatar van timo PHP ver gevorderde doe eens
  1. <?php
  2. $query_zoek = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST[gebruikersnaam]."' OR volledige_naam="' ..... LIMIT 50") or die (mysql_error());
  3. ?>
Offline Freaky_Davy - 25/01/2006 19:28 (laatste wijziging 25/01/2006 19:29)
Avatar van Freaky_Davy Nieuw lid timo was me voor 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.229s