Ik ben nu al weken aan het zoeken om het volgende probleem op te lossen en het lukt me niet.
Ik heb fout meldingen ingebouwd, echo's en op het web en in handleidingen gezocht.

Ik heb een formulier met 4 keuzevakjes: Land,Maand,Prijs,Logies.
Als men bij alle 4 iets selecteert werkt mijn resultatenpagina.
Echter is er ook de mogelijkheid om het volgende te selecteren:
Bij Land : <option value='Alle'>- Alle Landen
Bij Maan d : <option value='Gans'>Gans het jaar
Bij Prijs: <option value='Iedere'>Iedere prijs
Bij Logies : <option value='Alles'>Alle

Aangezien dat ‘Alle’ ‘Gans’ ‘Iedere’ ‘Alles’ niet in de db staan dacht ik het op te lossen met: if na SELECT
Dat lukt niet voor alle if

Code 19-22 werkt
Code 24-27 werkt niet
Code 29-32 werkt
Code 34-37 werkt niet
Code 39-42 werkt

Wat doe ik fout ?



<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL); 

include('connect.php');

$zoekland=$_POST["LAND"];
$zoekmaand=$_POST["MAAND"];
$zoekprijs=$_POST["PRIJS"];
$zoeklogies=$_POST["LOGIES"];

$Alle='Alle';
$Gans='Gans';
$Iedere='Iedere';
$BHR='BHR';

$sql = "SELECT  LAND, MAAND, DATUM, TOCHT, FOTO, TEKST, PRIJS, LOGIES, SOORT FROM `hippotrail` WHERE ";

if  ($zoekland==$Alle)
{
$sql.=" MAAND ='$zoekmaand' AND PRIJS ='$zoekprijs' AND LOGIES ='$zoeklogies' ";
};

if  ($zoekland==$Alle&&$zoekprijs==$Iedere&&$zoeklogies==$BHR)
{
$sql.=" MAAND ='$zoekmaand' ";
};

if ($zoekmaand==$Gans&&$zoekprijs==$Iedere&&$zoeklogies==$BHR)
{
$sql.= "LAND = '$zoekland' ";
};

if  ($zoekland==$Alle&&$zoekmaand==$Gans)
{
$sql.="  PRIJS ='$zoekprijs' AND LOGIES ='$zoeklogies' ";
};

if  ($zoekland!=$Alle&&$zoekmaand!=$Gans&&$zoekprijs!=$Iedere&&$zoeklogies!=$BHR)
{
$sql.=" LAND='$zoekland' AND MAAND ='$zoekmaand' AND PRIJS ='$zoekprijs' AND LOGIES ='$zoeklogies' ";
};



if(!$result = $mysqli->query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
else
while($row = $result->fetch_assoc())

{
$land = $row['LAND'];
$maand = $row['MAAND'];
$datum = $row['DATUM'];
$tocht = $row['TOCHT'];
$foto = $row['FOTO'];
$tekst = $row['TEKST'];
$prijs = $row['PRIJS'];
$logies = $row['LOGIES'];
$soort = $row['SOORT'];


$kolom_breedte   =['360'];
$top = 'top';
$info='meer weten ...';
$left='left';
$right='right';
?>
<table cellspacing="15">
 <tbody>
   <tr>
    <td colspan="5" valign="top" ><hr></td>
    </tr>
    <tr>
       <td valign="top"></td>
       <td valign="top"></td>
       <td valign="top" align="left" width="250"><p></p></td>
       <td valign="top" width="100"><p></p></td>
       <td valign="top" width="50"><p></p></td>
	   
	   
     </tr>
     <tr>
<?php
echo"	<td valign=$top>$land</td>
		<td valign=$top><a href='$land.html'>$tocht</a></td>
		<td valign=$top align=$right>$datum</td>
		<td valign=$top align=$left>$maand</td>
		";
echo"	</tr>";
echo"		<tr>";
echo"	<td valign=$top><a href='$land.html'><img src='$foto.JPG' width=200 hight=250 /></a></td>
		<td valign=$top align=$left>$tekst<br><p><a href='$land.html'>$info</a></p></td>
		<td valign=$top align=$right>$prijs Euro</td>
		<td valign=$top align=$left>$soort</td>
		<td valign=$top align=$left>$logies</td>
		";

echo"		</tr>";
}
?>


</tbody></table>
Begrijp er niet heel veel van, een beetje wel. Ga me er in verdiepen.
Repetition is the path to mastery ;)

En als je ook nog verschillende veldtypen wilt verwerken krijg je mogelijk zoiets (ter inspiratie).

Vragen? vragen!
Repetition is the path to mastery ;)


Het pad is nog heel smal hoor . Maar de aanhouder wint :-)

Reageren