Zoekvak maken
Dit geld voor de website Kijk en Vergelijk
-Ik heb mijn linken in de database zitten met alles er omheen.
Dus <a href=""></a> en hele javascript codes.
-Is het dan wel mogelijk om een zoekbox op je website te maken waarmee je bepaalde woorden kunt zoeken?
---------------
De website Winkel Top 10
-Hier heb ik de kale linken in de database staan, dus hier zou het wel moeten kunnen.
-------------
Ik heb hier al wat rondgesnuffeld maar ik kan het niet vinden.
Wie heeft er hier een goed script waar ik verder mee kan?
(lees: ik ga de zoveelste uitdaging weer aan )
Code (php)
1
2
3
4
2
3
4
<?
$var = preg_replace('#<a href=[ ]>#is','',$var);
$var .= preg_replace('#</a>#is','',$var);
?>
$var = preg_replace('#<a href=[ ]>#is','',$var);
$var .= preg_replace('#</a>#is','',$var);
?>
dan blijft $var over en kun je daarop zoeken.. niet getest
Dit zou weer iets heel nieuws voor me zijn. Dit heb ik nog nooit gedaan.
Zou ik dus eerst dit moeten doen.
Maar waarschijnlijk zal dit niet lukken met javascript linken.
Maar op mijn andere website zou ik wel al gewoon aan de slag kunnen met een goed script.
Elsy schreef op 10.11.2006 16:39:
Eerst even een vraag:
Dit geld voor de website Kijk en Vergelijk
-Ik heb mijn linken in de database zitten met alles er omheen.
Dus <a href=""></a> en hele javascript codes.
-Is het dan wel mogelijk om een zoekbox op je website te maken waarmee je bepaalde woorden kunt zoeken?
Wie heeft er hier een goed script waar ik verder mee kan?
(lees: ik ga de zoveelste uitdaging weer aan )
Dit geld voor de website Kijk en Vergelijk
-Ik heb mijn linken in de database zitten met alles er omheen.
Dus <a href=""></a> en hele javascript codes.
-Is het dan wel mogelijk om een zoekbox op je website te maken waarmee je bepaalde woorden kunt zoeken?
Wie heeft er hier een goed script waar ik verder mee kan?
(lees: ik ga de zoveelste uitdaging weer aan )
@Elsy
Met een query:
SELECT link FROM tabel WHERE link = '%kinderkleding%'
Krijg je alle links waarin het woord kinderkleding voorkomt, dus dat zou geen probleem moeten vormen.
(als dit niet is wat je bedoelde, dan moet je het even zeggen)
zo kan het ook :S
Edit:
1000 postststst
Ik wil het eerst even gaan testen met de website winkeltop10, daar heb ik namelijk alle linken "kaal" in de database gezet.
Ik wil graag een zoekvak op die pagina waar mensen een zoekterm kunnen invullen en dat dan alle linken tevoorschijn komen die iets van dat woord erin hebben zitten.
Dus wat jij voorsteld is dus wel wat ik bedoel.
Het %-teken ervoor betekend geloof ik "ongeveer".
Maar waarom staat er ook eentje achter het woord?
krijg je ook:
vakantiewerk
werkvloer
enz...
Heb even ge-googled en kwam deze tut tegen.
Zal eens kijken of dat iets voor met is.
http://www.phphulp.nl/php/tutorials/3/100/?PHPSESSID=3bc1236fc925ea5086a55f96f49b8131
Als je bijvoorbeeld op %kleding% zoekt, krijg je zowel
herenkleding
kinderkleding
dameskleding
kledingkast
Alles waar het woord kleding in voor komt, maakt niet uit of het aan het begin is, of aan het einde van de waarde die in je database staat, vind die als dat woord.
Er staat er ook een achter, omdat je nu met %schap%
gereedschap
gereedschapskist
zwangerschapskleding
allemaal als geldig resultaat vind. Zonder werkt het niet, omdat als die er niet staat het woord helemaal achteraan moet staan. (alleen gereedschap uit bovenstaande voorbeeld is dan goed)
MAAR:
Je zei dat je de hele link in de database had staan. (dit is niet handig, maar dat terzijde) Dus ook </a> staat er ALTIJD achter. zonder de % aan het einde had die dus ook gereedschap niet gevonden, omdat er ....gereedschap</a> staat.
Ik hoop dat dit een beetje duidelijk is
Ben je er nog uit gekomen met de tutorial?
Bedankt voor de uitleg.
Ik denk dat een zoekvak bij mijn pagina "kijk en vergelijk" niet kan omdat ik dat toen nog niet wist dat je de linken het beste "kaal " in je database kunt zetten. Is nu haast niet meer te wijzigen omdat het meer dan 1500 linken zijn. Kan wel nu beginnen om het op die manier te doen. Ik kijk wel.
Nu maak ik een zoekvak voor "winkeltop10" daar heb ik ze wel "kaal" in de database zitten.
Ben even weg geweest dus heb er niet veel mee gedaan.
Ik heb het zoekvak in de rechter kolom gezet maar als je dan op zoek moet klikken dan opent hij dus de pagina met de zoekresultaten in een nieuw venster. Maar hoe laat je die dan zien in het midden van je pagina?
Elsy schreef op 11.11.2006 15:22:
Ik heb het zoekvak in de rechter kolom gezet maar als je dan op zoek moet klikken dan opent hij dus de pagina met de zoekresultaten in een nieuw venster. Maar hoe laat je die dan zien in het midden van je pagina?
Bedoel je dat er een Pop-Up moet komen, met de zoekresultaten, die in het midden van jouw pagina komt te staan?
Zo ja, kijk eens naar dit script van Jan Koehoorn, (staat op zijn eigen site)
http://www.jankoehoorn.nl/tuts/js/perfectpopups
Elsy schreef op 11.11.2006 15:22:
@Robert
Bedankt voor de uitleg.
Ik denk dat een zoekvak bij mijn pagina "kijk en vergelijk" niet kan omdat ik dat toen nog niet wist dat je de linken het beste "kaal " in je database kunt zetten. Is nu haast niet meer te wijzigen omdat het meer dan 1500 linken zijn. Kan wel nu beginnen om het op die manier te doen. Ik kijk wel.
Bedankt voor de uitleg.
Ik denk dat een zoekvak bij mijn pagina "kijk en vergelijk" niet kan omdat ik dat toen nog niet wist dat je de linken het beste "kaal " in je database kunt zetten. Is nu haast niet meer te wijzigen omdat het meer dan 1500 linken zijn. Kan wel nu beginnen om het op die manier te doen. Ik kijk wel.
Ik ben zelf niet zo goed in regexen, maar ik weet zeker dat als je een voorbeeld kan geven van hoe de links eruit zien in je database, dat er wel iemand is die kan helpen een regex te schrijven, waarmee je in 1 keer alle links in je database om kan zetten naar "kale" links. Een kleine aanpassing in je script is dan voldoende om het weer op de "oude" manier weer te geven.
En op de manier die ik gaf kan je prima zoeken, zelfs als je een full tekst search wil doen, is de data wel gewoon geschikt.
Het voordeel van links "kaal" in je database zetten, is dat het veel ruimte scheelt, je zet de basis van de links gewoon in je PHP script en die wordt zo vaak aangeroepen als er records zijn. (zoals je in de nieuwe site ook hebt gedaan zeg maar)
Ik moet nu even weg, maar de bedoeling is dat ik in de rechter kolom een zoekbox heb staan en de resultaten daarvan in het midden gedeelte moet komen.
Dus niet met een pop-up maar net zo alsof je in het menu op een link klikt en dan de resultaten in het midden zichtbaar worden.
Testpagina: http://www.winkeltop10.nl/index2.php
- Roep alles op uit de database
- laat het door een filter gaan zodat alle zooi eromheen weg is
- Zet het terug in de database
1500 links heeft hij volgens mij zo gedaan
Dit werkt toch niet met javascript linken die je krijgt aangeboden om op je website te plaatsen.
Klinkt heel simpel hoe je dat verwoord maar daar heb ik geen kaas van gegeten....
Maar het zou wel fijn zijn als er iemand even naar het script wil kijken of ik niet iets ben vergeten.
En of het op de pagina wel opvalt waar je moet klikken om het zoekformulier te kunnen invullen.
De pagina
Dit is de code:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?
error_reporting (E_ALL & ~E_NOTICE);
if ($submit=="Zoeken" && isset($_POST))
{
//-- $HTTP_POST_VARS[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 '%$HTTP_POST_VARS[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(empty($HTTP_POST_VARS[zoekterm])){
echo "<table class=\"zoek\" align=\"center\" width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\">
<tr><td align=\"center\"><p align=\"center\"><b>Je hebt vergeten iets in te vullen</b><br /><br />";
echo "<a href=\"#\" onclick=\"history.go(-1)\"><b>Ga terug</b></a></td></tr></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: '.$HTTP_POST_VARS[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="meer"><a href="javascript:history.go(-1);">Zoekformulier</a>';
echo '</td>';
echo '</tr>';
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="meer"><a href="javascript:history.go(-1);">Zoekformulier</a>';
echo '</td>';
echo '</tr>';
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\">
<tr><td align=\"center\"><p align=\"center\">Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekterm]</b></p>
<a href=\"#\" onclick=\"history.go(-1)\"><b>Probeer het opnieuw</b></a></td></tr></table>";
}
}
else
{
echo "<table class=\"zoek\" align=\"center\" width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\">
<tr><td align=\"center\"><p align=\"center\"><b>Vul hier in waar u naar wilt zoeken</b></p></td></tr>
<tr><td align=\"center\"><div align=\"center\">
<FORM METHOD=\"POST\" >
<br>
<input type=\"text\" name=\"zoekterm\" size=\"25\"><br>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</form></div>
</td></tr>
</table>";
}
?>
error_reporting (E_ALL & ~E_NOTICE);
if ($submit=="Zoeken" && isset($_POST))
{
//-- $HTTP_POST_VARS[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 '%$HTTP_POST_VARS[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(empty($HTTP_POST_VARS[zoekterm])){
echo "<table class=\"zoek\" align=\"center\" width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\">
<tr><td align=\"center\"><p align=\"center\"><b>Je hebt vergeten iets in te vullen</b><br /><br />";
echo "<a href=\"#\" onclick=\"history.go(-1)\"><b>Ga terug</b></a></td></tr></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: '.$HTTP_POST_VARS[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="meer"><a href="javascript:history.go(-1);">Zoekformulier</a>';
echo '</td>';
echo '</tr>';
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="meer"><a href="javascript:history.go(-1);">Zoekformulier</a>';
echo '</td>';
echo '</tr>';
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\">
<tr><td align=\"center\"><p align=\"center\">Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekterm]</b></p>
<a href=\"#\" onclick=\"history.go(-1)\"><b>Probeer het opnieuw</b></a></td></tr></table>";
}
}
else
{
echo "<table class=\"zoek\" align=\"center\" width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\">
<tr><td align=\"center\"><p align=\"center\"><b>Vul hier in waar u naar wilt zoeken</b></p></td></tr>
<tr><td align=\"center\"><div align=\"center\">
<FORM METHOD=\"POST\" >
<br>
<input type=\"text\" name=\"zoekterm\" size=\"25\"><br>
<input type=\"submit\" name=\"submit\" value=\"Zoeken\">
</form></div>
</td></tr>
</table>";
}
?>
if ($submit=="Zoeken" && isset($_POST))
verander in:
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'Zoeken')
HTTP_POST_VARS
Gebruik gewoon $_POST
Algemene tips:
Doe aan error checking als je een query uitvoer.
Je code is heel slecht geformatteerd en daarom moeilijk te lezen. Zorg dat je regels goed inspringen met genoeg tabs.
Ik heb hopelijk de code nu ietsje netter.
Pagina
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?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>';
}
}
?>
//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>';
}
}
?>
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
//EDIT (ALGEMEEN) van $_POST[zoekterm] heb ik overal $_POST['zoekterm'] gemaakt.
//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
//-- $_POST['zoekterm'] even door beveiliging(etje) halen.
$zoekterm=mysql_real_escape_string($_POST['zoekterm']);
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
//-- EDIT: Variabele in de query buiten quotes gehaald.
$sql = "SELECT link_id,link_naam,url
FROM winkel_linken
WHERE link_naam
LIKE '%".$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>';
// EDIT: Je bent iets vergeten te doen, je hebt iets vergeten mee te nemen ;)
echo '<p align="center"><b>Je bent 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>';
}
}
?>
//EDIT (ALGEMEEN) van $_POST[zoekterm] heb ik overal $_POST['zoekterm'] gemaakt.
//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
//-- $_POST['zoekterm'] even door beveiliging(etje) halen.
$zoekterm=mysql_real_escape_string($_POST['zoekterm']);
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
//-- EDIT: Variabele in de query buiten quotes gehaald.
$sql = "SELECT link_id,link_naam,url
FROM winkel_linken
WHERE link_naam
LIKE '%".$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>';
// EDIT: Je bent iets vergeten te doen, je hebt iets vergeten mee te nemen ;)
echo '<p align="center"><b>Je bent 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>';
}
}
?>
Edit:
Trouwens nog een kleinigheiddje op je site: Bij de alt bij de links staat bij mij altijd " keer bezocht" volgens mij moet daar een aantal komen, dat gaat dan nog niet helemaal goed.
Trouwens nog een kleinigheiddje op je site: Bij de alt bij de links staat bij mij altijd " keer bezocht" volgens mij moet daar een aantal komen, dat gaat dan nog niet helemaal goed.
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
$_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:
dus niet:
Je code, nog iets netter:
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
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
<?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>';
}
}
?>
//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>';
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn