Zoek pagina
Ik wil een zoekpagina hebben voor mijn (intranet)pagina's, om documenten te doorzoeken. Alles staat in een database.
Een pagina met een zoekveldje is zo gemaakt, maar ik ben nog niet erg sterk met php5. En ik krijg het niet zo goed werkend als ik het had onder php3.
Kan iemand mij een tip geven?
Gewoon er aan beginnen en als je ergens vast loopt je probleem hier op het forum posten. Er zijn trouwens best wel regelmatig topics over zoeken en dergelijke.
<form method="GET" action="zoekres.php" target="_top">
<div align="center">
<center>
<table border="0" cellspacing="0">
<tr><td>Zoekterm:</td></tr><tr><td><input type="text" name="zoek" size="15"></td></tr>
<tr><td colspan=2><input type="submit" value="Zoek!" name="knop"></td></tr>
</td></tr></table>
</center>
</div>
</form>
En dan zoekres.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include ("login.php3");
$result = mysql_query ("SELECT * FROM rhbaktie where aktie LIKE '%$zoek%' order by Nummer");
if ($row= mysql_fetch_array($result)) {
print ("<table width=\"100%\">");
do {
$Naam = $row["Naam"];
$result1 = mysql_query("SELECT * from formulieren where Naam='$Naam'");
$row1 = mysql_fetch_array($result1);
print ("<TR><TD>");
print $row1["Naam"];
print ("</TD><TD>");
print ("</TD></TR>");
} while ($row = mysql_fetch_array($result));
print ("</table>");
}
?>
include ("login.php3");
$result = mysql_query ("SELECT * FROM rhbaktie where aktie LIKE '%$zoek%' order by Nummer");
if ($row= mysql_fetch_array($result)) {
print ("<table width=\"100%\">");
do {
$Naam = $row["Naam"];
$result1 = mysql_query("SELECT * from formulieren where Naam='$Naam'");
$row1 = mysql_fetch_array($result1);
print ("<TR><TD>");
print $row1["Naam"];
print ("</TD><TD>");
print ("</TD></TR>");
} while ($row = mysql_fetch_array($result));
print ("</table>");
}
?>
Het probleem is dat mijn pagina zoek_kop de ingevoerde data niet naar de zoekres.php stuurt.
En $zoek bestaat niet.
Als je POST gebruikt dan komt de variabele uit je formulier binnen in de $_POST['zoek'] variablel. (Lees wat over superglobals)
Dus
"SELECT * FROM rhbaktie where aktie LIKE '%$zoek%' order by Nummer"
wordt dan iets als ($vars buiten je quotes houden)
"SELECT * FROM rhbaktie where aktie LIKE '%" . mysql_real_escape_string($_POST['zoek']) . "%' order by Nummer"
Lees ook wat over mysql-injection.
Bedankt voor je perfecte reactie, ik weet waar ik zoeken moet. Ik heb mijn search pagina lopen.
Ik heb al zo'n lekker dik php5 boek gekocht, ik zal me er dit weekend eens boos op gaan maken.
Thanx for the help.