login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Database tools > Zoeken in meerdere kolommen

Zoeken in meerdere kolommen

Auteur: Piro - 15 augustus 2005 - 23:19 - Gekeurd door: nemesiskoen - Hits: 6454 - Aantal punten: 4.25 (2 stemmen)



Dit is een kleine functie die ik gemaakt heb om door meerdere kolommen te zoeken in een database...

De functie is makkelijk te gebruiken:
  1. <?php
  2. $sSql = "SELECT * FROM tabel WHERE ".getWhereString($_GET['q'], 'AND', array('kolom1', 'kolom2', 'kolom3'));
  3. //$_GET['q'] bevat dan ee nstring met keywords: pagina.php?q=paard+ezel+koe
  4.  
  5. //querie uitvoeren...
  6.  
  7. ?>


De eerste parameter, $sKeywords, moet een string bevatten met de woorden waarop gezocht moet worden

De tweede parameter, $sAndor, geeft aan of alle woorden moeten (AND) voorkomen of mogen (OR) voorkomen

De derde parameter, $aFields, is een array met de kolommen waarin gezocht moet worden...

Code:
  1. <?php
  2. function getWhereString($sKeywords, $sAndor, $aFields){
  3. $sKeywords = ereg_replace(" +", " ", trim($sKeywords));
  4. $aKeywords = split('[ +]', $sKeywords);
  5. $sWhere = '';
  6. for($i=0;$i<count($aKeywords);$i++){
  7. $sWhere .= (($i==0)?' ':' '.$sAndor.' ').(($sAndor=='AND')?'( ':'');
  8. for ($iK = 0; $iK<count($aFields); $iK++){
  9. $sWhere .= (($iK==0)?' ':' OR ').$aFields[$iK]." LIKE '%".$aKeywords[$i]."%' ";
  10. }
  11. $sWhere .= (($sAndor == 'AND')?' ) ':' ');
  12. }
  13. return $sWhere;
  14. }
  15. ?>


Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (10)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.025s