Reacties op het script Zoeken in meerdere kolommen
|
Gepost op: 15 augustus 2005 - 23:25 |
|
|
|
PHP expert
|
Leg het nut van de tweede parameter is uit, want ik denk dat deze niet goed wordt toegepast.
Dit(voorbeeld1) geeft als output(voorbeeld2).
voorbeeld1
<?php
echo getWhereString("blaat", 'AND', array('kolom1', 'kolom2', 'kolom3'));
?>
<?php echo getWhereString ("blaat", 'AND', array('kolom1', 'kolom2', 'kolom3')); ?>
voorbeeld2
( kolom1 LIKE '%blaat%' OR kolom2 LIKE '%blaat%' OR kolom3 LIKE '%blaat%' )
( kolom1 LIKE '%blaat%' OR kolom2 LIKE '%blaat%' OR kolom3 LIKE '%blaat%' )
moet dat normaal niet als output dit geven:
( kolom1 LIKE '%blaat%' AND kolom2 LIKE '%blaat%' AND kolom3 LIKE '%blaat%' )
( kolom1 LIKE '%blaat%' AND kolom2 LIKE '%blaat%' AND kolom3 LIKE '%blaat%' )
Of heeft de tweede parameter een ander nut? |
|
|
|
Gepost op: 15 augustus 2005 - 23:29 |
|
|
|
Nieuw lid
|
De 2e parameter dient om aan te geven of alle keywords moeten voorkomenof mogen voorkomen...
Ik heb het er even bij vermeld ;)
Als je overal AND zou doen, dan moet het keywoord in alle kolom voorkomen, en dat is niet nodig, het moet gewoon voorkomen in 1 kolom... ;) |
|
|
|
Gepost op: 15 augustus 2005 - 23:39 |
|
|
|
PHP expert
|
Veranderd er iets aan de uitvoer van je query als je haken rond de gehele where clausule zet of niet?
Ik denk het eigenlijk niet, dit is hetzelfde als haken rond een waarde te zetten die word geëchood.
Haken houden toch in dat je het geheel moet bekijken, maar WHERE bekijkt zowiezo het geheel tot LIMIT of ORDER BY in de query staat.
Dus veranderd er niets aanje query (of ik zit fout). |
|
|
|
Gepost op: 15 augustus 2005 - 23:43 |
|
|
|
Nieuw lid
|
De haakjes doen er eigenlijk niet toe... ik heb ze al toegevoegd voor het gemak, maar eigenlijk moeten ze er niet staan... |
|
|
|
Gepost op: 15 augustus 2005 - 23:44 |
|
|
|
PHP expert
|
Dan is er geen verschil in een query waarbij je AND zet als tweede argument of OR als tweede argument.
Je gebruikt het tweede argument enkel om te controleren of het AND is. Zoja -> dan gooi je haakjes rond het hele gedoe... kan je niet beter: Zoja -> dan zet ik AND waar OR staat. |
|
|
|
Gepost op: 15 augustus 2005 - 23:54 |
|
|
|
Nieuw lid
|
Er is wel een verschil... Als je OR gebruikt, zal je alle resultaten terug krijgen waarin tenminste 1 keyword voorkomt, als je AND gebruikt, moeten alle keywords minstens 1 keer voorkomen...:
<?php
echo getWhereString('blaat1 blaat2', 'AND', array('kolom', 'kolom2'));
//OUTPUT: ( kolom LIKE '%blaat1%' OR kolom2 LIKE '%blaat1%' ) AND ( kolom LIKE '%blaat2%' OR kolom2 LIKE '%blaat2%' )
echo getWhereString('blaat1 blaat2', 'OR', array('kolom', 'kolom2'));
//OUTPUT: kolom LIKE '%blaat1%' OR kolom2 LIKE '%blaat1%' OR kolom LIKE '%blaat2%' OR kolom2 LIKE '%blaat2%'
?>
<?php echo getWhereString ('blaat1 blaat2', 'AND', array('kolom', 'kolom2')); //OUTPUT: ( kolom LIKE '%blaat1%' OR kolom2 LIKE '%blaat1%' ) AND ( kolom LIKE '%blaat2%' OR kolom2 LIKE '%blaat2%' ) echo getWhereString ('blaat1 blaat2', 'OR', array('kolom', 'kolom2')); //OUTPUT: kolom LIKE '%blaat1%' OR kolom2 LIKE '%blaat1%' OR kolom LIKE '%blaat2%' OR kolom2 LIKE '%blaat2%' ?>
|
|
|
|
Gepost op: 15 augustus 2005 - 23:56 |
|
|
|
PHP expert
|
my mistake
Had nog niet getest met meerdere woorden. |
|
|
|
Gepost op: 15 augustus 2005 - 23:59 |
|
|
|
Nieuw lid
|
Is nix ;) (heb het script intussen voorzien van iets duidelijkere variabelen...) |
|
|
|
Gepost op: 16 augustus 2005 - 10:45 |
|
|
|
Moderator
|
Haken rond AND en OR zetten is zeker niet onverstandig.
(A AND B) OR C en A AND (B OR C) zijn twee hele verschillende dingen. |
|
|
|
Gepost op: 18 mei 2009 - 21:13 |
|
|
|
Nieuw lid
|
kan iemand hiervoor een formulier maken dat erbij past aub |
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|