Checkboxen: Values moeten invloed hebben op 1 en dezelfde query.

Status
Niet open voor verdere reacties.

nestles

Banned
Lid geworden
11 sep 2010
Berichten
403
Hallo,

Ik heb op mijn lokale server een begin voor een webwinkel. Het bestaat tot nu toe uit 1 pagina nog met producten en wil de klant laten kiezen tussen merken van producten. De verschillende merken zitten in een apparte tabel van de database dus het is makkelijk dat als er een nieuw merk bij de producten word toegevoegd dat die bij de veschillenden merken komt te staan.

Nu wil ik graag dat de klant met checkboxen bovenaan de pagina kan kiezen welke merken hij wel of niet wil zien. MAAR......
Ik wil ook op prijs kunnen sorteren dus alles moet in 1 query gebeuren. Kan iemand me hier mee helpen? Alvast bedankt!


PHP:
<?php

echo "<a href='index.php'>Naar de index</a><br>";
// verbinden met database
mysql_connect('localhost','root','');
mysql_select_db('tv');

// tabel voor producten.
echo "<table border='1'><tr><td>Merk</td><td>Kleur</td><td>Prijs</td><td>Afbeelding</td><td>Type</td><td>Inch</td></tr>";


echo "<form action='webwinkel.php' method='POST'>";
// sorteer functie
echo "<select name='sorteren'>";
echo "<option name='sorteren' value='prijs ASC'>Prijs Oplopend<br>";
echo "<option name='sorteren' value='prijs DESC'>Prijs Aflopend<br>";
echo "<option name='sorteren' value='inch ASC'>Inch Oplopend<br>";
echo "<option name='sorteren' value='inch DESC'>Inch Aflopend<br>";
echo "</select>";

// prijs indicatie geven
// minimale prijs
echo "<select name='prijs>'>";
for ($i=100;$i<=550;$i=$i+100)
{
  echo "<option value='$i'>$i euro ></option>";
}
echo "</select>";
// maximale prijs
echo "<select name='prijs<'>";
for ($i=200;$i<=550;$i=$i+100)
{
  echo "<option value='$i'><$i euro</option>";
}
echo "</select>";

// tv merken kiezen
$query= mysql_query("SELECT merk FROM uniquetv WHERE merk != 'jabberwocky'");
$num_rows_jabby = mysql_num_rows($query);
while ($row = mysql_fetch_row($query))
{ // checkboxes van alle verschillende tv merken
  echo "<input type='checkbox' name=".$row[0]." value=' WHERE merk='".$row[0]."''>".$row[0];
  if (isset($_POST[$row[0]]))
  {
    // alle producten tonen (gesorteerd)
    if (isset($_POST['sorteer']))
    {
      $sorteren = $_POST['sorteren'];
      $min_prijs = $_POST['prijs>'];
      $max_prijs = $_POST['prijs<'];
      $query1 = mysql_query("SELECT * FROM tv WHERE merk ='".$row[0]."' AND prijs>='$min_prijs' AND prijs<='$max_prijs' ORDER BY '$sorteren'");
      while ($row1 = mysql_fetch_row($query1))
      {
        echo "<tr><td>".$row1[1]."</td><td>".$row1[2]."</td><td>".$row1[3]."</td><td><img src=".$row1[4]."></td><td>".$row1[5]."</td><td>".$row1[6]."</td></tr>";
      }
    }
  }
}

echo "<input type='submit' name='sorteer' value='Sorteer'>";
echo "</form>";


?>

Hier is de code
 
Laatst bewerkt:
1. Beveilig je input met mysql_real_escape_string, anders kan een bezoeker met een beetje html aanpassen je hele db wissen.
2. Op merken selecteren kun je doen met een for each loop, daarin doe je gewoon iets simpels als dit:
$merken .= mysql_real_escape_string($merkNaam) . ","; en dat dan in de query in de where.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan