Zoekscript meerdere variable
Nu heb ik een probleem als er meerdere items worden meegegeven. Uit de url wordt het zo gehaald (ik weet dat het niet goed is hoe het gemaakt is, maar weet niet hoe het wel moet):
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
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
$ee = 0;
if(isset($_GET['faciliteit_id']) && $_GET['faciliteit_id'] != "0")
{
$ff = count($_GET['faciliteit_id']);
}
else
{
$ff = 0;
}
while ($ee < $ff)
{
if(isset($faciliteit_id[$ee]) AND $faciliteit_id[$ee] != "")
{
$query4 = mysql_query("SELECT * FROM hotel_faciliteiten WHERE fac_id = '$faciliteit_id[$ee]'",$link)
or mooie_mysql_error($_SERVER['PHP_SELF']);
$catjoin = "AND fac.hotel_id = a.hotel_id";
$catget = ",hotel_faciliteiten AS fac";
$zoek .= " AND fac.fac_id = '$faciliteit_id[$ee]' ";
}
$ee++;
}
if(isset($_GET['faciliteit_id']) && $_GET['faciliteit_id'] != "0")
{
$ff = count($_GET['faciliteit_id']);
}
else
{
$ff = 0;
}
while ($ee < $ff)
{
if(isset($faciliteit_id[$ee]) AND $faciliteit_id[$ee] != "")
{
$query4 = mysql_query("SELECT * FROM hotel_faciliteiten WHERE fac_id = '$faciliteit_id[$ee]'",$link)
or mooie_mysql_error($_SERVER['PHP_SELF']);
$catjoin = "AND fac.hotel_id = a.hotel_id";
$catget = ",hotel_faciliteiten AS fac";
$zoek .= " AND fac.fac_id = '$faciliteit_id[$ee]' ";
}
$ee++;
}
Nu gaat het erom hoe ik regel 19 tot en met 22 moet maken dat als er meerdere variabele meegegeven het ook werkt.
Gewijzigd op 01/01/1970 01:00:00 door Prienstra
Ik volg d'r nu geen hout van (ga iig de moeite er niet voor doen).
Kijk ook naar mysql_real_escape_string.
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
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
$sql = null;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset ($_POST['cat'])) {
$sql = "
SELECT veld1, veld2
FROM tabelnaam
WHERE
cat IN(" . implode (',', $_POST['cat']) . ")
";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jan Koehoorn | PHPhulp | Checkbox search</title>
<style type="text/css" media="screen">
div#container {margin: 20px auto; width: 620px; padding: 20px; border: 1px solid #ccc;}
pre {padding: 0 10px; border: 1px solid #00f; color: #00f;}
pre,
input,
body {font: 11px "Lucida Sans Unicode", sans-serif;}
form div {overflow: hidden; width: 100%; margin: 0 0 10px 0; padding: 0 0 10px 0; border-bottom: 1px dotted #ccc;}
form div label {float: left; width: 100px; cursor: pointer;}
form div input[type=text] {float: left; border: 1px solid #ccc; padding: 2px 4px; width: 200px;}
input[type=text]:focus {color: #f66; border: 1px solid #f66;}
form span.err {color: #f66; margin: 0 0 0 10px;}
legend {border: 1px solid #ccc; padding: 2px 4px;}
fieldset {border: 1px solid #ccc; padding: 20px;}
form em {color: #666;}
</style>
</head>
<body>
<div id="container">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo '<pre>' . print_r ($_POST, true) . '</pre>';
echo '<pre>' . print_r (htmlentities ($sql), true) . '</pre>';
}
?>
<form method="post">
<div>
<input id="cat1" name="cat[]" type="checkbox" value="cat1" />
<label for="cat1">categorie 1</label>
</div>
<div>
<input id="cat2" name="cat[]" type="checkbox" value="cat2" />
<label for="cat2">categorie 2</label>
</div>
<div>
<input id="cat3" name="cat[]" type="checkbox" value="cat3" />
<label for="cat3">categorie 3</label>
</div>
<div>
<input id="cat4" name="cat[]" type="checkbox" value="cat4" />
<label for="cat4">categorie 4</label>
</div>
<div>
<input id="cat5" name="cat[]" type="checkbox" value="cat5" />
<label for="cat5">categorie 5</label>
</div>
<div>
<input type="submit" value="zoeken" />
</div>
</form>
</div>
</body>
</html>
ini_set ('display_errors', 1);
error_reporting (E_ALL | E_STRICT);
$sql = null;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset ($_POST['cat'])) {
$sql = "
SELECT veld1, veld2
FROM tabelnaam
WHERE
cat IN(" . implode (',', $_POST['cat']) . ")
";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jan Koehoorn | PHPhulp | Checkbox search</title>
<style type="text/css" media="screen">
div#container {margin: 20px auto; width: 620px; padding: 20px; border: 1px solid #ccc;}
pre {padding: 0 10px; border: 1px solid #00f; color: #00f;}
pre,
input,
body {font: 11px "Lucida Sans Unicode", sans-serif;}
form div {overflow: hidden; width: 100%; margin: 0 0 10px 0; padding: 0 0 10px 0; border-bottom: 1px dotted #ccc;}
form div label {float: left; width: 100px; cursor: pointer;}
form div input[type=text] {float: left; border: 1px solid #ccc; padding: 2px 4px; width: 200px;}
input[type=text]:focus {color: #f66; border: 1px solid #f66;}
form span.err {color: #f66; margin: 0 0 0 10px;}
legend {border: 1px solid #ccc; padding: 2px 4px;}
fieldset {border: 1px solid #ccc; padding: 20px;}
form em {color: #666;}
</style>
</head>
<body>
<div id="container">
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo '<pre>' . print_r ($_POST, true) . '</pre>';
echo '<pre>' . print_r (htmlentities ($sql), true) . '</pre>';
}
?>
<form method="post">
<div>
<input id="cat1" name="cat[]" type="checkbox" value="cat1" />
<label for="cat1">categorie 1</label>
</div>
<div>
<input id="cat2" name="cat[]" type="checkbox" value="cat2" />
<label for="cat2">categorie 2</label>
</div>
<div>
<input id="cat3" name="cat[]" type="checkbox" value="cat3" />
<label for="cat3">categorie 3</label>
</div>
<div>
<input id="cat4" name="cat[]" type="checkbox" value="cat4" />
<label for="cat4">categorie 4</label>
</div>
<div>
<input id="cat5" name="cat[]" type="checkbox" value="cat5" />
<label for="cat5">categorie 5</label>
</div>
<div>
<input type="submit" value="zoeken" />
</div>
</form>
</div>
</body>
</html>
Alleen dan met zoiets (het is een toevoeging van een script):
Krijg ik als resultaat het id die 10 heeft en 44 heeft, maar niet het id die 10 & 44 heeft.
Wellicht moet ik ook vermelden, het staat als volgt in de database:
numfac_id - fac_id - id
6000 - 10 - 1
6001 - 44 - 1
6002 - 38 - 2
Gewijzigd op 01/01/1970 01:00:00 door prienstra