Hallo,

Ik probeer een filter te maken waar producten op prijs en formaat worden weergegeven. Ik ben nog niet begonnen aan de prijs, maar dit is hoe het zit met formaat, waar ik niet helemaal uitkom en ook geen foutmelding krijg, maar een wit scherm.

Eerst:

<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' name='formaatfilter' >
<select name="formaat">
    <option value="all">Formaat</option>
    <option value="7050">Formaat 70cm x 50cm</option>
    <option value="10070">100cm x 70cm</option>
</select>
<input type='submit' value = 'Filter'>
</form>


In mijn PHP:
<?php
$result = $db->query($query);
while ($row = $result->fetch()) {
dan zet ik andere specificaties (prijs, naam, datum etc) in een row.
?>

Dan heb ik:
<?php
if($_POST['formaat'] == '7050')) {
$query = "SELECT * FROM producten WHERE formaat='70cm x 50cm'";

}
elseif($_POST['formaat'] == '10070') {
$query = "SELECT * FROM producten WHERE formaat='100cm x 70cm'";

} else {
$query = "SELECT * FROM producten ORDER BY prod_id DESC";
}
$output[] = '<li>
<a href="/winkel/bekijk-product-'.$prod_id.'/'.$prodUrl.'">
<img src="'.$thumbnail.'" title="'.$prod_naam.'" />
<strong class="prodTitel">'.$prod_naam.'</strong>
<div class="productSpecs">
<span>'.$formaat.'</span>
<span>&raquo; Lees Meer</span>
</div>
<div class="productPrices">
<strong>'.$prijs.', -</strong>
</div></a>
</li>';
echo join('',$output);
?>

Maar dit werkt niet... waarom niet?
EDIT: veranderingen doorgevoerd tot nu toe
Op lijn 2 en 3 van je tweede blok ga je de fout in. Je wilt het resultaat van een query opnieuw in een query uitvoeren? Ik denk dat je lijn 2 moet schrappen, en in $sql je query-string (SELECT... FROM....) moet gebruiken.

<option formaat="all">Formaat</option>

Option heeft geen formaat maar een value.

<option value="all">Formaat</option>
Ik heb gedaan wat jij zei, Aar. Dus regel 2 weggehaald en query($sql); --> query($query);

<?php
$result = $db->query($query);
while ($row = $result->fetch()) {
?>
Ik heb ook de form aangepast zoals jij zei, SanThe.
Maar het werkt nog steeds niet, geen foutmeldingen, niks. Is er nog iets anders dat ik over het hoofd zie?
Tevens: het is inmiddels 2015. Gebruik MySQLi of PDO om met je MySQL-database te communiceren, maar gebruik geen mysql_-functies in nieuwe code.

En mogelijk nog wat inspiratie.

Je wilt waarschijnlijk niet allemaal afzonderlijke queries voor alle mogelijke gevallen, maar één dynamische opgebouwde query.
Opgelost...

Ik had een while statement en die niet afgesloten ... -_- Ik zit te lang achter de computer
Waar komen alle variabelen vandaan in je laatste code van je openingspost in $output?
Obelix en Idefix, dat komt uit mijn tweede code

dan zet ik andere specificaties (prijs, naam, datum etc) in een row.


Ik wilde dat niet allemaal opsommen voor gebruikersgemak :)
Heb je error reporting aan staan?

Waar komt $query in je tweede code dan vandaan?

Reageren