zoekresultaat op andere pagina tonen
Alvast bedankt
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
require_once("databaseconnectionuploaden.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Zoeken</title>
</head>
<body>
<!--inputvelden voor gebruiker om te zoeken-->
<form form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Zoek op categorie:<br>
<select name="zoekopcategorie">
<option value="Bibliotheek">Bibliotheek</option>
<option value="Conferentie">Conferentie</option>
<option value="BVBo7">NVB07</option>
<option value="Onderwijs">Onderwijs</option>
<option value="Onderzoek">Onderzoek</option>
<option value="Publicatie">Publicatie</option>
<option value="Raak project">Raak project</option>
<option value="Related">Related</option>
<option value="Site">Site</option>
<option value="Subsidie">Subsidie</option>
<option value="Under content creation">Under content creaction</option>
<option value="Jongeren">Jongeren</option>
<option value="Zonder categorie">Zonder categorie</option>
<option value="alles" selected="selected">alles</option>
</select><p>
in:<br>
<select name="zoekenin">
<option value="omschrijving">Omschrijving</option>
<option value="trefwoord">Trefwoord</option>
<option value="alles" selected="selected">alles</option>
</select><p>
Met <b>alle</b> woorden (hoofdlettergevoelig):
<input name="zoeken" type="text" id="zoeken" size="30"><P>
<input type="submit" value="zoeken"><P>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$zoeken = mysql_real_escape_string($_POST['zoeken']);
//beveiliging zodat andere mensen niet mijn script kunnen gebruiken om in mijn database te komen
if ($_POST['zoekenin'] == 'alles')
{
//zoeken op alles de ingevoerde zoekwoord mag in 1 of meerdere tabellen voorkomen (zie or regel 60 OR)
$zoekexploded = explode(' ', $zoeken);
//zorgt ervoor dat de variabelen weer leeg zijn (vooral belangrijk na een al reeds uitgevoerde zoekopdracht
$like = "";
$like2 = "";
foreach($zoekexploded as $k=>$v)
{
if($k == 0)
{
$like .= "`trefwoord` LIKE '%".$v."%' ";
$like2 .= "`omschrijving` LIKE '%".$v."%' ";
}
else
{
$like .= "AND `trefwoord` LIKE '%".$v."%' ";
$like2 .= "AND `omschrijving` LIKE '%".$v."%' ";
}
}
$sql = "
SELECT
thumbnail,
trefwoord,
omschrijving
FROM
afbeelding
WHERE
".$like." OR
".$like2."
";
}
elseif ($_POST['zoekenin'] == 'trefwoord' || $_POST['zoekenin'] == 'omschrijving')
{
/*zoeken op trefwoord OF omschrijving zoektermen mogen 1 of meerdere letters bevatten waarbij bij elke spatie gezocht wordt met AND operator*/
$zoekexploded = explode(' ', $zoeken);
$like = "";
foreach($zoekexploded as $k=>$v)
{
if($k == 0)
{
$like .= " `$_POST[zoekenin]` LIKE '%".$v."%' ";
}
else
{
$like .= "AND `$_POST[zoekenin]` LIKE '%".$v."%' ";
}
}
$sql = "
SELECT
thumbnail,
trefwoord,
omschrijving
FROM
afbeelding
WHERE
".$like."
";
}
$res = mysql_query($sql);
if(!$res)
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
//weergave van zoekresultaat
echo '<p><img src="'.$row['thumbnail'].'" alt="thumbnail" /></p>';
}
echo "<p><a href=\"registered_user_area_zoeken.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
else
{
echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoeken]</b></p>";
echo "<p><a href=\"registered_user_area_zoeken.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
}
}
?>
</body>
</html>
ini_set('display_errors', 'On');
error_reporting(E_ALL);
require_once("databaseconnectionuploaden.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Zoeken</title>
</head>
<body>
<!--inputvelden voor gebruiker om te zoeken-->
<form form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Zoek op categorie:<br>
<select name="zoekopcategorie">
<option value="Bibliotheek">Bibliotheek</option>
<option value="Conferentie">Conferentie</option>
<option value="BVBo7">NVB07</option>
<option value="Onderwijs">Onderwijs</option>
<option value="Onderzoek">Onderzoek</option>
<option value="Publicatie">Publicatie</option>
<option value="Raak project">Raak project</option>
<option value="Related">Related</option>
<option value="Site">Site</option>
<option value="Subsidie">Subsidie</option>
<option value="Under content creation">Under content creaction</option>
<option value="Jongeren">Jongeren</option>
<option value="Zonder categorie">Zonder categorie</option>
<option value="alles" selected="selected">alles</option>
</select><p>
in:<br>
<select name="zoekenin">
<option value="omschrijving">Omschrijving</option>
<option value="trefwoord">Trefwoord</option>
<option value="alles" selected="selected">alles</option>
</select><p>
Met <b>alle</b> woorden (hoofdlettergevoelig):
<input name="zoeken" type="text" id="zoeken" size="30"><P>
<input type="submit" value="zoeken"><P>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$zoeken = mysql_real_escape_string($_POST['zoeken']);
//beveiliging zodat andere mensen niet mijn script kunnen gebruiken om in mijn database te komen
if ($_POST['zoekenin'] == 'alles')
{
//zoeken op alles de ingevoerde zoekwoord mag in 1 of meerdere tabellen voorkomen (zie or regel 60 OR)
$zoekexploded = explode(' ', $zoeken);
//zorgt ervoor dat de variabelen weer leeg zijn (vooral belangrijk na een al reeds uitgevoerde zoekopdracht
$like = "";
$like2 = "";
foreach($zoekexploded as $k=>$v)
{
if($k == 0)
{
$like .= "`trefwoord` LIKE '%".$v."%' ";
$like2 .= "`omschrijving` LIKE '%".$v."%' ";
}
else
{
$like .= "AND `trefwoord` LIKE '%".$v."%' ";
$like2 .= "AND `omschrijving` LIKE '%".$v."%' ";
}
}
$sql = "
SELECT
thumbnail,
trefwoord,
omschrijving
FROM
afbeelding
WHERE
".$like." OR
".$like2."
";
}
elseif ($_POST['zoekenin'] == 'trefwoord' || $_POST['zoekenin'] == 'omschrijving')
{
/*zoeken op trefwoord OF omschrijving zoektermen mogen 1 of meerdere letters bevatten waarbij bij elke spatie gezocht wordt met AND operator*/
$zoekexploded = explode(' ', $zoeken);
$like = "";
foreach($zoekexploded as $k=>$v)
{
if($k == 0)
{
$like .= " `$_POST[zoekenin]` LIKE '%".$v."%' ";
}
else
{
$like .= "AND `$_POST[zoekenin]` LIKE '%".$v."%' ";
}
}
$sql = "
SELECT
thumbnail,
trefwoord,
omschrijving
FROM
afbeelding
WHERE
".$like."
";
}
$res = mysql_query($sql);
if(!$res)
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
else
{
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
//weergave van zoekresultaat
echo '<p><img src="'.$row['thumbnail'].'" alt="thumbnail" /></p>';
}
echo "<p><a href=\"registered_user_area_zoeken.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
else
{
echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoeken]</b></p>";
echo "<p><a href=\"registered_user_area_zoeken.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
}
}
?>
</body>
</html>
Ik zie verder niet echt in waarom je dat nodig zou hebben, aangezien je met een simpel else statement ook kan voorkomen dat het formulier weergegeven wordt. Je zul dan wel even de volgorde in je script moeten veranderen, iets dat je sowieso eigenlijk zou moeten doen. Je probeert namelijk altijd de logica (php) gescheiden te houden van de output (html) en bij jou staat het nu kris kras door elkaar...
Dat met action naar andere pagina laten verwijzen is idd meest simepelste. Grappig dat je soms zelf niet op dat soort dingen komt.
Zijn er misschien voorbeelden waar de logica php gescheiden gehouden wordt van de output (html). Ik heb daar niet zoveel ervaring mee namelijk dus en zie graag hoe het wel hoort.
bedankt.
Uitgebreide formulier controle
Maar ook in de andere voorbeelden die daar staan, zul je zien dat ze beginnen met PHP en pas later de HTML volgt.
Maar ook in de andere voorbeelden die daar staan, zul je zien dat ze beginnen met PHP en pas later de HTML volgt.
Maaruh als je dat niet doet en je wilt met html aangegeven welke fontkleur gebruikt kan worden kun je moeilijk html beneden zetten tenzij je CSS gebruikt, maar als je dat niet doet hoe los jij dat dan op????
Alle output die ik in een PHP script genereer sla ik tijdelijk op in een array. Pas op het einde van het script, waar ik de html naar de browser ga versturen, lees ik deze array weer uit en geef ik de output weer op het scherm.