Archief - PHP: Zoekfunctie

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Excise

Legacy Member
Goede middag ik heb al een lange tijd een probleem, heb hier al eens om raad gevraagd omtrend dit maar ik kwam er niet uit.

het is zo dat ik tabellen aan elkaar gelinkt heb en nu moet ik er 2 zoekcriteria uithalen en dan moet het nog het juiste resultaat geven , dit is de code


PHP:
<?
$zoeken = $_POST["zoek"];
$keuze = $_POST["sorteren"];
$specifieer = $_POST["specifiek"];
$verfijn = $_POST["verfijn"];
?>
<table width="100%">

  <tr>
    <td width="34%">
	<form method="post" action="<?= $_SERVER['PHP_SELF'];?>">
      <select name="sorteren" size="1">
        <option value="klant">Klant</option>
        <option value="postnummer">Postnummer</option>
        <option value="maatnaam.naammaat">Bandenmaat</option>
        <option value="merknaam.naammerk">Bandenmerk</option>
        <option value="depot">Depot</option>
        <option value="datum">Datum</option>
      </select>
     <input type="text" name="zoek" size="30" maxlength="50">

      <select name="verfijn" size="1">
        <option value="maatnaam.naammaat">Bandenmaat</option>
        <option value="merknaam.naammerk">Bandenmerk</option>
      </select>
     <input type="text" name="specifiek" size="30" maxlength="50">
     <input type="submit" value="Zoeken">
    </form>
   </td>
  </tr>
  
</table>

<table width="100%" border="1">
<tr>
<td><strong>Klanten naam: </strong></td>
<td><strong>Telefoonnummer: </strong></td>
<td><strong>E-mail: </strong></td>
</tr>

<?
mysql_connect("localhost", "****", "*****");
mysql_select_db("*******");
if ($zoeken == "")
$query = "SELECT volgnummer, klant, tel, email, postnummer, bandenmaat, bandenmerk, datum, depot FROM klanten ORDER BY klant";
else {
	
	if($keuze == "klant") {
	$query = "SELECT volgnummer, klant, tel, email, postnummer, bandenmaat, bandenmerk, datum, depot FROM klanten WHERE klant = '$zoeken' ORDER BY klant";
	}
	elseif($keuze == "postnummer") {
	$query = "SELECT volgnummer, klant, tel, email, postnummer, bandenmaat, bandenmerk, datum, depot FROM klanten WHERE postnummer = '$zoeken' ORDER BY klant";
	}
	elseif($keuze == "maatnaam.naammaat") {
	$query = "SELECT klanten.volgnummer, klanten.klant, klanten.tel, klanten.email, klantmaat.volgnummer, klantmaat.nummermaat, maatnaam.nummermaat, maatnaam.naammaat FROM klanten, klantmaat, maatnaam WHERE maatnaam.naammaat = '$zoeken' AND maatnaam.nummermaat=klantmaat.nummermaat AND klantmaat.volgnummer=klanten.volgnummer ORDER BY klanten.klant";
	}
	
	elseif($keuze == "merknaam.naammerk") {
	$query = "SELECT klanten.volgnummer, klanten.klant, klanten.tel, klanten.email, klantmerk.volgnummer, klantmerk.nummermerk, merknaam.nummermerk, merknaam.naammerk FROM klanten, klantmerk, merknaam WHERE merknaam.naammerk = '$zoeken' AND merknaam.nummermerk=klantmerk.nummermerk AND klantmerk.volgnummer=klanten.volgnummer ORDER BY klanten.klant";
	}
	
	elseif($keuze == "maatnaam.naammaat" && $verfijn == "merknaam.naammerk") {
	$query = "SELECT klanten.volgnummer, klanten.klant, klanten.tel, klanten.email, klantmaat.volgnummer, klantmaat.nummermaat, maatnaam.nummermaat, maatnaam.naammaat, klantmerk.volgnummer, klantmerk.nummermerk, merknaam.nummermerk, merknaam.naammerk FROM klanten, klantmaat, maatnaam, klantmerk, merknaam WHERE maatnaam.naammaat = '$zoeken' AND maatnaam.nummermaat=klantmaat.nummermaat AND klantmaat.volgnummer=klanten.volgnummer && merknaam.naammerk = '$specifieer' AND merknaam.nummermerk=klantmerk.nummermerk AND klantmerk.volgnummer=klanten.volgnummer ORDER BY klanten.klant";
	}
	
	elseif($keuze == "merknaam.naammerk" && $verfijn == "maatnaam.naammaat") {
	$query = "SELECT klanten.volgnummer, klanten.klant, klanten.tel, klanten.email, klantmerk.volgnummer, klantmerk.nummermerk, merknaam.nummermerk, merknaam.naammerk, klantmaat.volgnummer, klantmaat.nummermaat, maatnaam.nummermaat, maatnaam.naammaat FROM klanten, klantmerk, merknaam, klantmaat, maatnaam WHERE merknaam.naammerk = '$zoeken' AND merknaam.nummermerk=klantmerk.nummermerk AND klantmerk.volgnummer=klanten.volgnummer AND maatnaam.naammaat = '$specifieer' AND maatnaam.nummermaat=klantmaat.nummermaat AND klantmaat.volgnummer=klanten.volgnummer ORDER BY klanten.klant";
	}
	elseif($keuze == "depot") {
	$query = "SELECT volgnummer, klant, tel, email, postnummer, bandenmaat, bandenmerk, datum, depot FROM klanten WHERE depot = '$zoeken' ORDER BY klant";
	}
	else {
	$query = "SELECT volgnummer, klant, tel, email, postnummer, bandenmaat, bandenmerk, datum, depot FROM klanten WHERE datum = '$zoeken' ORDER BY klant";
	}


}




$resultaat = mysql_query($query);
$rij = mysql_fetch_array($resultaat);
while ($rij) {
?>
<tr>
<td><INPUT TYPE=BUTTON VALUE="bekijk" onClick="location.href='bekijk.php?volgnummer=<? print($rij['volgnummer']); ?>'">  <? print($rij['klant']); ?></td>
<td><?print($rij["tel"]);?></td>
<td><A HREF="mailto:<?print($rij["email"]);?>"><?print($rij["email"]);?></A></td>
</tr>

<?
$rij = mysql_fetch_array($resultaat);
}
mysql_close();
?>

</table>

het gaat hier om de zoekfunctie van de bandenmaat en bandenmerk.
de rest werkt goed , alleen moet ik hier 2 zoekfuncties hebben en daar graak ik niet uit

grzzz.

Excise

Legacy Member
Het geeft steeds als resulltaat de klanten met ofwel het merk ofwel de maat ofwel alle2 en ik moet alleen als resultaat hebben de klanten waarvan het merk en de maat zijn die ingegeven is.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan