Vraag over zoekformulier
Roy
08/02/2008 14:02:00Ik heb voor een site een zoekformulier nodig. Hier kan je dan zoeken op naam, straat, postcode, categorie enzovoorts. Nu vind ik op internet veel scripts en tutorials over zoeken in je MySQL database, maar heb nog niet een script of tutorial gevonden van een echt formulier.
Voorbeeld:
http://www.autotrack.nl/owa_dima/owa/!att_occsearch.search
Hier kan je dus op heel veel dingen zoeken, maar als jij maar 1 ding wilt invullen, heeft hij daar ook genoeg aan. Hoe kan ik dit het beste doen? Kan iemand mij dit duidelijk uitleggen of online een script/tutorial laten zien?
Voorbeeld:
http://www.autotrack.nl/owa_dima/owa/!att_occsearch.search
Hier kan je dus op heel veel dingen zoeken, maar als jij maar 1 ding wilt invullen, heeft hij daar ook genoeg aan. Hoe kan ik dit het beste doen? Kan iemand mij dit duidelijk uitleggen of online een script/tutorial laten zien?
PHP hulp
22/12/2024 08:29:12Joren de Wit
08/02/2008 14:08:00Het is een kwest van controleren welke formuliervelden ingevuld zijn en alleen die velden opnemen in je query. Dus je query bouw je dan dynamisch op, een schematisch voorbeeld:
En zo zou je dat dus voor elk veld moeten doen. Uiteraard zou je dit ook in een loopje kunnen verwerken om het compleet dynamisch te maken...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$sQuery = "
SELECT *
FROM tabel
";
$bWhere = true;
if(!empty($_POST['naam'])
{
if($bWhere)
{
$sQuery .= " WHERE naam LIKE '%".mysql_real_escape_string($_POST['naam'])."%'";
$bWhere = false;
}
else
{
$sQuery .= " AND naam LIKE '%".mysql_real_escape_string($_POST['naam'])."%'";
}
}
// Query uitvoeren...
?>
$sQuery = "
SELECT *
FROM tabel
";
$bWhere = true;
if(!empty($_POST['naam'])
{
if($bWhere)
{
$sQuery .= " WHERE naam LIKE '%".mysql_real_escape_string($_POST['naam'])."%'";
$bWhere = false;
}
else
{
$sQuery .= " AND naam LIKE '%".mysql_real_escape_string($_POST['naam'])."%'";
}
}
// Query uitvoeren...
?>
En zo zou je dat dus voor elk veld moeten doen. Uiteraard zou je dit ook in een loopje kunnen verwerken om het compleet dynamisch te maken...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Frank -
08/02/2008 14:08:00Zoeken doe je in de database en die stuur je aan met SQL. Ga jezelf dus eerst eens afvragen hoe de queries eruit moeten komen te zien, dan komt dat formulier later wel.
Een formuliertje is maar een interface voor de bezoeker, daar zit het probleem niet. Het is een uitdaging om op de juiste manier de juiste queries aan te maken. Hoe staat het met jouw datamodel en jouw SQL-kunsten?
Een formuliertje is maar een interface voor de bezoeker, daar zit het probleem niet. Het is een uitdaging om op de juiste manier de juiste queries aan te maken. Hoe staat het met jouw datamodel en jouw SQL-kunsten?