Bekijk Volledige Versie : zoekformulier database
Hallo allemaal,
Als beginner even de volgende vraag.
Ik heb een database op de server staan, wil via een formulier op de website
de mogelijkheid geven te zoeken in deze database.
Ik heb al het een en ander gelezen over sql FROME WHERE etc, maar ik zoek
eigenlijk een duidelijk voorbeeldje met de juiste(veilige) code.
Als voorbeeld.
Ik heb een tabel met de velden naam, adres woonplaats.
Ik wil dan een zoekformulier met 3 velden waar de criteria kunnen worden
ingegeven, dus naam , adres, woonplaats.
Als er in een veld niets is ingegeven moet dat dus niet meegenomen worden in
het filteren van de gegevens.
De uitkomst zou in een tabel moeten worden weergegeven.
Heel basic voor de ervaren mensen denk ik, maar ik zou erg geholpen zijn met
een duidelijk voorbeeldje.
b.v.b dank voor de info
Erick T. Barkhuis
30/09/06, 09:40
Marco:
>
> Als beginner even de volgende vraag.
> Ik heb een database op de server staan, wil via een formulier op de website
> de mogelijkheid geven te zoeken in deze database.[...]
> Heel basic voor de ervaren mensen denk ik, maar ik zou erg geholpen zijn met
> een duidelijk voorbeeldje.
- in welke scripttaal wil je het gaan doen?
- in welke database wil je dat gaan doen?
- hoe heet de database, de tabel en de velden?
--
Erick
"Erick T. Barkhuis" <erick.usenet@ardane.c-o-m> schreef in bericht
news:MPG.1f883a5738a9b2f98a1e0@news.individual.net ...
> Marco:
>
>>
>> Als beginner even de volgende vraag.
>> Ik heb een database op de server staan, wil via een formulier op de
>> website
>> de mogelijkheid geven te zoeken in deze database.[...]
>
>> Heel basic voor de ervaren mensen denk ik, maar ik zou erg geholpen zijn
>> met
>> een duidelijk voorbeeldje.
>
Bedankt voor je reactie.
> - in welke scripttaal wil je het gaan doen?
PHP
> - in welke database wil je dat gaan doen?
MYSQL
> - hoe heet de database,
relaties
>de tabel
gegevens
>en de velden?
naam adres woonplaats.
Erick T. Barkhuis
30/09/06, 10:40
Marco:
> > Marco:
> >> Ik heb een database op de server staan, wil via een formulier op de
> >> website de mogelijkheid geven te zoeken in deze database.[...]
> >
> PHP
> MYSQL
>
> > - hoe heet de database,
>
> relaties
>
> >de tabel
>
> gegevens
>
> >en de velden?
>
> naam adres woonplaats.
Dan wordt het zoiets:
<?php
include("/home/etc/db_connect.inc.php");
# Hierin je inloggegevens voor de database, en de connect-opdracht
$errmsg = "";
if (isset($_POST)) {
foreach ($_POST as $pkey => $pvalue) {
$_POST[$pkey] = trim($pvalue);
# Hier wat filteren op sql-injection
}
extract ($_POST, EXTR_OVERWRITE);
}
if ($B1=="Zoek" && isset($_POST)) { #formulier ingevuld
# valideer :
if ($errmsg=="") {
# Hier eventueel wat input valideren
}
# Door validatie heen. Nu het resultatenblok maken
if ($errmsg=="") {
$res = "<table>\n";
$res .= "<tr><th>Naam</th><th>Adres</th><th>Woonplaats1</th></tr>
\n";
$deWHERE = "";
if ($naam!="") {
$deWHERE = "naam=\"".$naam."\"";
}
if ($adres!="") {
$deWHERE .= ($deWHERE == "") ? "" : " AND ";
$deWHERE .= "adres=\"".$adres"\"";
}
if ($woonplaats!="") {
$deWHERE .= ($deWHERE == "") ? "" : " AND ";
$deWHERE .= "woonplaats=\"".$woonplaats."\"";
}
$sql = "SELECT * FROM gegevens ";
if ($deWHERE !="") {
$sql .= "WHERE $deWHERE";
}
$result= mysql_query($sql, $connection) or die("Query Error:
".mysql_error()." bij sql=".$sql);
while ($row = mysql_fetch_array($result)) {
$res .= "<tr><td>$row['naam']</td><td>$row['adres']</td><td>
$row['woonplaats']</td></tr>\n";
}
$res .= "</table>\n";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>NAW van Marco</title>
</head>
<body>
<?php
// Foutboodschap na invullen formulier:
if ($errmsg != "") {
echo "<div>".$errmsg."</div>\n";
}
?>
<form method=post name="frm" id="frm">
Naam: <input type="text" name="naam" size=20><br>
Adres: <input type="text" name="adres" size=20><br>
Woonplaats: <input type="text" name="woonplaats" size=20><br>
<input type="submit" value="Zoek" name="B1" >
</div>
</form>
<div>
<?php
echo $res;
?>
</div>
<?php
mysql_close($connection);
?>
</body>
</html>
--
Erick
[Uit het hoofd, ongetest, en dus wellicht wat slordig]
"Erick T. Barkhuis" <erick.usenet@ardane.c-o-m> schreef in bericht
news:MPG.1f884759a8f65f2a98a1e1@news.individual.ne t...
> Marco:
> Erick
> [Uit het hoofd, ongetest, en dus wellicht wat slordig]
Bedankt Erick, ik ga daar morgen mee aan de slag om het uit te proberen.