Zoektabel laat geen resultaat zien.
Ik ben er al weer dagen mee bezig maar snap niet waarom het in deze pagina niet werkt
Ik zal hier al mijn code neerzetten en hopelijk dat iemand mij verder kan helpen.
Testpagina
EDIT:
Teveel aan code verwijdert :)
zou je zelf 448 regels code lezen op zoek naar een fout?
bart van der veen schreef op 24.11.2006 11:46:
zou je zelf 448 regels code lezen op zoek naar een fout?
Als ik er iemand mee kan helpen zou ik dat zeker doen!
gooi even met echootjes her en der, probeer het iets compacter te maken. Ik wil je best helpen, graag zelfs, maar dit is nogal wat :) kijk evn hoever je pagina nog komt, wat je queries doen etc. Rondje debuggen!
Dit is het zoekvak:
Code (php)
Hier vraag ik de zoekterm op en laat de resultaten zien op de 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
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
<?php
//de tabel voor zoeken
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien
if ($_SERVER['REQUEST_METHOD'] == 'post' && $_POST['submit'] == 'Zoeken') {
$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoekterm'] . "%'";
$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>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
echo '<h1>U zocht op: ' . $_POST['zoekterm'] . '</h1>';
echo '<table class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0" alt="'.$row['link_naam'].'" /></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</td></tr></table>'.PHP_EOL.'<table class="tabelgroot" align="left" cellspacing="0" cellpadding="0"><tr>'.PHP_EOL;
$counter = 0;
}
}//einde while lus
echo '</td></tr></table>';
}//einde elseif
else
{
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn geen resultaten gevonden aan de hand van uw zoekterm.<br>Probeert u het opnieuw.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}//einde else
}//einde if $SERVER
?>
//de tabel voor zoeken
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien
if ($_SERVER['REQUEST_METHOD'] == 'post' && $_POST['submit'] == 'Zoeken') {
$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoekterm'] . "%'";
$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>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
echo '<h1>U zocht op: ' . $_POST['zoekterm'] . '</h1>';
echo '<table class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0" alt="'.$row['link_naam'].'" /></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</td></tr></table>'.PHP_EOL.'<table class="tabelgroot" align="left" cellspacing="0" cellpadding="0"><tr>'.PHP_EOL;
$counter = 0;
}
}//einde while lus
echo '</td></tr></table>';
}//einde elseif
else
{
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn geen resultaten gevonden aan de hand van uw zoekterm.<br>Probeert u het opnieuw.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}//einde else
}//einde if $SERVER
?>
geen action in je form
wes schreef op 24.11.2006 11:57:
geen action in je form
Dat heb ik op mijn andere website ook niet.
Maar hij moet ook niet naar een andere pagina voor de resultaten maar de resultaten laten zien ipv het formulier.
Ik dacht dat ik met het onderste stuk script vertelde dat als het aan die voorwaarden voldoet het dan de resultaten moet laten zien.
zet eens meteen na de 1e if een echo met iets erin, kijken oftie uberhaupt wel zover komt
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if ($_SERVER['REQUEST_METHOD'] == 'post' && $_POST['submit'] == 'Zoeken') {
$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoekterm'] . "%'";
$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
echo 'Dit is een test';
if (empty($_POST['zoekterm'])) {
?>
if ($_SERVER['REQUEST_METHOD'] == 'post' && $_POST['submit'] == 'Zoeken') {
$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoekterm'] . "%'";
$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
echo 'Dit is een test';
if (empty($_POST['zoekterm'])) {
?>
Maar als ik op de knop druk met "Zoeken" gebeurt er niets.
in je form head willen zetten, als test
zou je me een lol willen doen en toch Gewijzigd op 01/01/1970 01:00:00 door - wes -
Overigens zonder resultaat.
echo $_SERVER['REQUEST_METHOD'].'<br>';
echo $_POST['submit'].'<br>';
Action is niet verplicht :)
Code (php)
Als ik voor het eerst op de pagina kom zie ik:
GET
Als ik zonder iets in te vullen op "Zoeken " klik zie ik:
POST
Zoeken
Als ik een zoekterm invul gebeurt er niets.
$_SERVER['REQUEST_METHOD'] == 'POST'
Wat ik niet begrijp is dit:
Ik had het opvragen van de zoekresultaten ook in de switch gezet van het menu aan de linker kant.
Toen werkte het niet.
Nu heb ik het er dus even onder gezet.
Ik heb hem door de validator gehaald en daar werd gezegd dat ik alles in kleine letters moest zetten (xhtml) dus ook post en get.
Nou, hij doet het in ieder geval, moet het alleen nog even zo neer zetten dat hij de inhoud vervangt.
Code (php)
zie maar weer dat je gewoon met kijken tot waar je script wel komt, je erg makkelijk de fout kan achterhalen
Bedankt WES !
ga mezelf echt slaan dat ik dat niet zag meteen :) gaat goed met je websites of niet :)
Och, ja het is een verslaving en met php kun je leuke dingen doen en je bent nooit uitgeleerd.
Ik was al met OOP bezig gegaan maar dat heb ik maar weer even weggelegd. Nog te ingewikkeld :)