Nog een paar tips over nette code:
$_POST[zoekterm] wordt door PHP wel voor je opgelost maar bij een associatieve array hoort er toch echt een string tussen de brackets te staan, dus $_POST['zoekterm']
Na een if of else kun je de accolade op dezelfde regel zetten of op een nieuwe. Jij gebruikt beide methodes. Ik zelf geef de voorkeur aan bijv:
if (conditie) {
// doe iets
}
else {
// doe iets anders
}
dus niet:
if (conditie) {
// doe iets
}
else
{
// doe iets anders
}
Je code, nog iets netter:
<?php
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Zoeken') {
//-- $_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 link_id,link_naam,url
FROM winkel_linken
WHERE link_naam
LIKE '%" . $_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) or die("Sorry maar ik kan de zoekresultaten niet weergeven, probeer het later opnieuw.");
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (empty($_POST['zoekterm'])) {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Je hebt vergeten iets in te vullen</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
} elseif (mysql_num_rows($res) >= 1) {
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
$teller = 0;
$list_completed = false;
echo '<table align="center"><tr>';
$kolommen = 4;
while ($row = mysql_fetch_assoc($res)) {
if ($teller % 10 == 0) {
echo '<td valign="top">';
echo '<table width="170" align="left" cellspacing="2" cellpadding="0">';
echo '<tr>';
echo '<td colspan="2" class="kopje"><h3>Zoekresultaten van: ' . $_POST['zoekterm'] . '</h3></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="tabelborder">';
}
echo '-<a href="tussenpagina.php?link_id=' . $row['link_id'] . '" target="_blank" title="' . $row['kliks'] . ' keer bezocht">' . $row['link_naam'] . '</a><br>';
$list_completed = false;
if ($teller % 10 == 9) {
echo '<tr>';
echo '<td colspan="2" class="naarboven"><a href="#top"><img src="/image/top.gif " width="12" height="12" border=0 alt="Naar boven"></a>';
echo '</td>';
echo '</tr>';
echo '</table>' . PHP_EOL;
$list_completed = true;
$counter++;
if ($counter == $kolommen) {
echo '</td></tr></table><table align="center">';
$counter = 0;
}
}
$teller++;
}
if (!$list_completed) {
echo '<tr>';
echo '<td colspan="2" class="naarboven"><a href="#top"><img src="/image/top.gif " width="12" height="12" border=0 alt="Naar boven"></a>';
echo '</td>';
echo '</tr>';
echo '</table>' . PHP_EOL;
$counter++;
if ($counter == $kolommen) {
echo '</td></tr></table><table align="center"><tr>';
$counter = 0;
}
}
echo '</td></tr></table>' . PHP_EOL;
}
//-- als er geen resultaat is gevonden, dus als het zoekwoord niet gevonden is:
else {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td align="center">';
echo '<p align="center">Er is niets gevonden op jou zoekterm:<b> ' . $_POST['zoekterm'] . '</b><br>';
echo '<b>Probeer het opnieuw</b></p>';
echo '</td>';
echo '</tr>';
echo '</table>';
}
}
?>