Zoekvak maken
-Ik heb van allebei iets gebruikt en de code aangepast.
-Van die ''-jes had ik kunnen weten maar niet goed op gelet omdat ik wat code van het internet had geplukt.
-De accolades op de juiste plek zetten blijft moeilijk vind ik. Meestal zet ik ze allemaal onder elkaar zodat ik weet welke bij elkaar horen.
-Wat opvalt, Jan, is dat je alle code wel op elkaar hebt gezet. Voor mij dus ietsje onoverzichterlijker maar dat zal wel wennen zijn.
Bedankt jongens voor de hulp.
Ik ben alweer happy dat ik dit ook weer voor elkaar heb gekregen.
De code zo die nu is:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Zoeken') {
//-- $_POST['zoekterm'] even door beveiliging(etje) halen.
$zoekterm=mysql_real_escape_string($_POST['zoekterm']);
//-- $_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
//-- EDIT: zo niet een TRIGGER_ERROR weergeven, dan loopt de rest van je code wel gewoon door
$res = mysql_query($sql)or trigger_error ("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>U heeft 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 uw zoekterm:<b> ' . $_POST['zoekterm'] . '</b><br>';
echo '<b>Probeer het opnieuw</b></p>';
echo '</td>';
echo '</tr>';
echo '</table>';
}
}
?>
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Zoeken') {
//-- $_POST['zoekterm'] even door beveiliging(etje) halen.
$zoekterm=mysql_real_escape_string($_POST['zoekterm']);
//-- $_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
//-- EDIT: zo niet een TRIGGER_ERROR weergeven, dan loopt de rest van je code wel gewoon door
$res = mysql_query($sql)or trigger_error ("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>U heeft 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 uw zoekterm:<b> ' . $_POST['zoekterm'] . '</b><br>';
echo '<b>Probeer het opnieuw</b></p>';
echo '</td>';
echo '</tr>';
echo '</table>';
}
}
?>
Graag gedaan,
Heb je ook nog gekeken naar de edit van mijn vorige post?
zo niet, dan ging het om het volgende:
In de alt (als je op een link staat krijg je een zogenaamde tooltip) van de links op je site, staat bij mij bij elke link " keer geklikt", waarbij het aantal kliks dus ontbreekt.
Dit zal waarschijnlijk een kleine fout in je code zijn, maar ik wou het toch even melden.
Bedankt voor die laatste opmerking.
Ik had vergeten om in de query "kliks" te selecteren.
Nu doet hij het :)
Ben nu weg, doei