Hallo, ik heb een probleempje met mijn query.

Het gaat om de volgende query:

---------------------------------------------------------

if ($_POST["piet"] != 0 ){

$eis1= "id=$id";
}else{
$eis1="Hier gaat het om";
}

$query = "SELECT * FROM bla WHERE $eis1";
----------------------------------------------------------

Het gaat dus om het stukje waar $eis1 wel 0 is. Dan wil ik namelijk dat het WHERE gedeelte alles selecteerd.

Weet iemand hoe ik datr kan oplossen. Op dit moment selecteerd hij dus niks als $eis1==0

Groetjes Gijs
Je zou daarvan kunnen maken:

$eis = 1;

De query wordt dan:

SELECT * FROM bla WHERE 1

en dat selecteert alles, omdat '1' altijd waar is.
Maar als ik bijv.

1 == nederland
2 == duitsland
3 == belgie
0 == alle drie de landen

hoe krijg je dan dat hij in je query alle landen selecteerd?? ik dacht zelf dat je dan bij $eis == 0 het zo moest doen dat er eigenlijk niks in de variabele staat. Maar weet niet hoe ik dat schrijf.

ik wil namelijk mensen laten zoeken op verschillende dingen. namelijk land, hondenras, naam, stad enz. en wilde eigenlijk niet 10 querys gaan schrijven als het ook in 1 kan.
$sql = "SELECT ras WHERE land = ".$eis."";

$eis is dan bijvoorbeeld 1 (voor nederland)
Normale syntax is dan:

$sql = "SELECT ras WHERE land = ".$eis;
Je ontkomt er eigenlijk niet aan om in ieder geval 2 queries te maken:

if ($eis == 0)
{
$sql = "SELECT * FROM bla";
}
else
{
$sql = "SELECT * FROM bla WHERE land = $eis";
}

Of, wellicht mooier:

$sql = "SELECT * FROM bla";
if ($eis > 0)
{
$sql .= " WHERE land = $eis";
}
Ok, was ik al bang voor. Dacht dat het ook makkelijker kon maar helaas. Bedankt voor de reacties in iedergeval.

Groetjes Gijs
Toch nog een vraagje.

ik heb deze query:
--------------------------------------------
$query ="SELECT ke.id,ke.geslacht,ke.contactpersoon,ke.naam_kennel,ke.email,ke.url,ke.telefoon,ke.fax,ke.straat,ke.huisnr,ke.toevoeging,ke.postcode,ke.stad,ke.provincie,ke.land_id,ke.beschrijving, l.land, hs.hondennaam FROM Kennels ke, Land l, Honden_soorten hs WHERE ke.land_id=l.id and ke.honden_soorten_id=hs.id or ke.land_id=l.id and ke.honden_soorten_id2=hs.id";

$uitkomsttest = mysql_query($query);

while(list($id,$geslacht,$contactpersoon,$naam_kennel,$email,$url,$telefoon,$fax,$straat,$huisnr,$toevoeging,$postcode,$stad,$provincie,$land_id,$beschrijving,$land,$hondennaam) = mysql_fetch_row($uitkomsttest)){

echo ("de grote test".$id." ".$geslacht." ".$contactpersoon." ".$naam_kennel." ".$email." ".$url." ".$telefoon." ".$fax." ".$straat." ".$huisnr." ".$toevoeging." ".$postcode." ".$stad." ".$provincie." ".$land_id." ".$beschrijving." ".$land." ".$hondennaam."<br>");
}
------------------------------------------------

die echo ik met een while lus.

Dit gaat goed tot dat er kennel is die 2 hondensoorten
fokt. dus dat


honden_soorten_id een waarde heeft
en
honden_soorten_id2 een waarde heeft


Weet iemand misschien hoe ik de query zo aan kan passen dat hij dan maar 1 keer echoed?? of een andere werkende oplossing.. :)

Reageren