Tonen van het resultaat in PHP
Het zoeken van iets doormiddel een formulier (vorige 'hoofdstuk') vind je natuurlijk overal in de praktijk wanneer er een 'search' wordt gedaan. Om de resultaten te weergeven moet je de query opgeven, uitvoeren, kijken of er een resultaat is en zo ja de resultaten weergeven. Dit doe je zo:
Noem het bestand: resultaat.php
Dit script communiceert met 'zoek.php'.
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
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("databasenaam", @mysql_connect("localhost", "database-user", "database-pass")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
//-- $_POST['zoekterm'] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT id,tekst FROM zoek_test WHERE tekst LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
echo '<p>Resultaat id: <b>' . $row['id'] . '</b><br>';
echo 'Resultaat tekst: <b>' . htmlspecialchars($row['tekst']) . '</b></p>';
}
echo '<a href="zoek.php" title="zoek opnieuw">zoek opnieuw</a>';
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else
{
echo '<p>Er is niets gevonden op jou zoekterm: <b>' . $_POST['zoekterm'] . '</b></p>';
echo '<p><a href="zoek.php" title="zoek opnieuw">zoek opnieuw</a></p>';
}
?>
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("databasenaam", @mysql_connect("localhost", "database-user", "database-pass")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
//-- $_POST['zoekterm'] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT id,tekst FROM zoek_test WHERE tekst LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
echo '<p>Resultaat id: <b>' . $row['id'] . '</b><br>';
echo 'Resultaat tekst: <b>' . htmlspecialchars($row['tekst']) . '</b></p>';
}
echo '<a href="zoek.php" title="zoek opnieuw">zoek opnieuw</a>';
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else
{
echo '<p>Er is niets gevonden op jou zoekterm: <b>' . $_POST['zoekterm'] . '</b></p>';
echo '<p><a href="zoek.php" title="zoek opnieuw">zoek opnieuw</a></p>';
}
?>