Zoekmachine op alles laten zoeken
Michel
28/06/2006 09:48:00$query = mysql_query("SELECT * FROM voorraad WHERE ".$_POST['zoek']." LIKE '%".$_POST['q']."%' AND productgroep = '".$_POST['sorteer']."'
productgroep = '".$_POST['sorteer']." Dit laatste stukje laat alles zien van een bepaalde productgroep... dit word in een dropdown menu geselecteerd... nu wil ik alleen ook een optie erbij maken waarin je kan kiezen dat hij op alle groepen moet zoeken.. hoe doe ik dat?
productgroep = '".$_POST['sorteer']." Dit laatste stukje laat alles zien van een bepaalde productgroep... dit word in een dropdown menu geselecteerd... nu wil ik alleen ook een optie erbij maken waarin je kan kiezen dat hij op alle groepen moet zoeken.. hoe doe ik dat?
PHP hulp
14/11/2024 18:16:50Klaasjan Boven
28/06/2006 10:00:002 Queries maken.
En dan met een if.
if(isset(het vinkje voor alles)){
$sql="SELECT alles FRom TABEL"}
else{
$sql="je huidige querie"}
en dan verder. Afhankelijk of het vinkje aanstaat of niet krijg je de goede qeurie terug
succes
En dan met een if.
if(isset(het vinkje voor alles)){
$sql="SELECT alles FRom TABEL"}
else{
$sql="je huidige querie"}
en dan verder. Afhankelijk of het vinkje aanstaat of niet krijg je de goede qeurie terug
succes
Michel
28/06/2006 10:31:00Frank -
28/06/2006 14:07:00Tip: Zet de query in een aparte variabele en noteer hem wat overzichtelijker. Voorbeeldje:
Bij de foutafhandeling kun je de query nu ook echoen, wel zo handig.
Opmerking: Gezien het feit dat productgroep een string is, heb ik het gevoel dat jouw datamodel niet klopt. De productgroepen horen in een aparte tabel te staan, de tabel 'voorraad' en 'productgroep' zijn dan via het unieke id van de productgroep met elkaar verbonden. En aangezien dit id nummeriek is, hoeft/hoort deze niet tussen quotes te staan.
En een $_POST[] zet je nooit ongecontroleerd in een query, dat is vragen om SQL-injection.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$query = "
SELECT
*
FROM
voorraad
WHERE
aantal = 23
AND
productgroep = 5
";
$result = mysql_query($query) or die(mysql_error());
?>
$query = "
SELECT
*
FROM
voorraad
WHERE
aantal = 23
AND
productgroep = 5
";
$result = mysql_query($query) or die(mysql_error());
?>
Bij de foutafhandeling kun je de query nu ook echoen, wel zo handig.
Opmerking: Gezien het feit dat productgroep een string is, heb ik het gevoel dat jouw datamodel niet klopt. De productgroepen horen in een aparte tabel te staan, de tabel 'voorraad' en 'productgroep' zijn dan via het unieke id van de productgroep met elkaar verbonden. En aangezien dit id nummeriek is, hoeft/hoort deze niet tussen quotes te staan.
En een $_POST[] zet je nooit ongecontroleerd in een query, dat is vragen om SQL-injection.