Zoekresultaten weergeven op bepaalde locaties
Ik heb de onderstaande code gebruikt om te zoeken. Nu zou ik graag de zoekresultaten willen tonen op bepaalde locaties in het scherm. Met de huidige code komen de thumnails als resultaat onder elkaar ik vroeg me af hoe ik per gevonden zoekresultaat kan bepalen waar deze komt te staan..
Alvast bedankt voor suggesties of verwijzingen of eventuele voorbeelen.
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("../../DBconnections/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("../../DBconnections/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>
Layout en dus onder andere het positioneren van elementen doe je met behulp van CSS. Plaats je thumbnails dus in divs en deze kun je vervolgens met CSS positioneren.
Ik wil namelijk thickbox oproepen bij de resultaten van thumbnails zodat gebruikers op de afbeelding kunnen klikken en het in die thickboxscherm de originele afbeelding op ware grootte kunnen zien.
CODE1:
CODE2:
Code (php)
Ik heb heel veel combinaties geprobeerd maar allemaal zonder succes. Ik wil het dus in die zoekscript van mijn plaatsen.
Alvast bedankt.
Gewijzigd op 01/01/1970 01:00:00 door Carel
Wat wil je precies bereiken dan? Dat code1 op de manier van code2 geschreven wordt? Lijkt mij een kweste van de $_SESSION variabelen vervangen door hun $row tegenhanger.
dit hoorde overigens nog bovenaan mijn script te staan:
Thank you...