dropdownlist chained 4 lagen mysql
Mijn database bestaat uit de volgende gegevens:
Database tabel: autos
De tabel heeft de volgende kolommen: merk, modelserie, model, uitvoering
De eerste drie dropdownlist krijg ik reeds ingevult door gegevens uit de database te lezen en dubbele items te filteren. Maar de laatste dropdownlist wil nog niet erg mee werken.
Ik krijg geen foutmelding er wordt gewoon niks weer gegeven.
Het gaat hier ergens fout denk ik.
$result = mysql_query("SELECT DISTINCT uitvoering FROM autos WHERE merk='".$_GET['drop_1']."'AND modelserie='".$_GET['drop_2']."' AND model='".$drop_var."'")
or die(mysql_error());
Als ik alleen dit gebruik gaat het gedeeltelijk goed want het werkt namelijk wel in firefox maar niet in IE8
$result = mysql_query("SELECT DISTINCT uitvoering FROM autos WHERE model='".$drop_var."'")
or die(mysql_error());
Het probleem zit hem denk ik in de $_GET['drop_1'] en de $_GET['drop_2'] deze zijn volgens mij leeg. Kan het niet zijn dat ze leeg zijn, ze worden via een javascript aangemaakt. want als ik in de bron kijk van het uiteindelijke resultaat bestaan deze dropdownlist ook niet terwijl je ze wel in beeld ziet. Ben zelf ook een beetje een leek in php hopelijk dat iemand met een beetje kennis van php het zo ziet?
Iemand een idee waar het mis gaat en wat ik kan aanpassen zodat het ook in IE werkt?
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
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
<?php
//**************************************
// Page load dropdown results //
//**************************************
function getTierOne()
{
$result = mysql_query("SELECT DISTINCT merk FROM autos")
or die(mysql_error());
while($tier = mysql_fetch_array( $result ))
{
echo '<option value="'.$tier['merk'].'">'.$tier['merk'].'</option>';
}
}
//**************************************
// First selection results //
//**************************************
if($_GET['func'] == "drop_1" && isset($_GET['func'])) {
drop_1($_GET['drop_var']);
}
function drop_1($drop_var)
{
include_once('../../includes/config.inc.php');
$result = mysql_query("SELECT DISTINCT modelserie FROM autos WHERE merk='$drop_var'")
or die(mysql_error());
echo '<select name="drop_2" id="drop_2">
<option value=" " disabled="disabled" selected="selected">Choose one</option>';
while($drop_2 = mysql_fetch_array( $result ))
{
echo '<option value="'.$drop_2['modelserie'].'">'.$drop_2['modelserie'].'</option>';
}
echo '</select>';
echo "<script type=\"text/javascript\">
$('#wait_2').hide();
$('#drop_2').change(function(){
$('#wait_2').show();
$('#result_2').hide();
$.get(\"func.php\", {
func: \"drop_2\",
drop_var: $('#drop_2').val()
}, function(response){
$('#result_2').fadeOut();
setTimeout(\"finishAjax_tier_three('result_2', '\"+escape(response)+\"')\", 400);
});
return false;
});
</script>";
}
//**************************************
// Second selection results //
//**************************************
if($_GET['func'] == "drop_2" && isset($_GET['func'])) {
drop_2($_GET['drop_var']);
}
function drop_2($drop_var)
{
include_once('../../includes/config.inc.php');
$result = mysql_query("SELECT DISTINCT model FROM autos WHERE modelserie='$drop_var'")
or die(mysql_error());
echo '<select name="drop_3" id="drop_3">
<option value=" " disabled="disabled" selected="selected">Choose one</option>';
while($drop_3 = mysql_fetch_array( $result ))
{
echo '<option value="'.$drop_3['model'].'">'.$drop_3['model'].'</option>';
}
echo '</select>';
echo "<script type=\"text/javascript\">
$('#wait_3').hide();
$('#drop_3').change(function(){
$('#wait_3').show();
$('#result_3').hide();
$.get(\"func.php\", {
func: \"drop_3\",
drop_var: $('#drop_3').val()
}, function(response){
$('#result_3').fadeOut();
setTimeout(\"finishAjax_tier_four('result_3', '\"+escape(response)+\"')\", 400);
});
return false;
});
</script>";
}
//**************************************
// Second selection results //
//**************************************
if($_GET['func'] == "drop_3" && isset($_GET['func'])) {
drop_3($_GET['drop_var']);
}
function drop_3($drop_var)
{
include_once('../../includes/config.inc.php');
$result = mysql_query("SELECT DISTINCT uitvoering FROM autos WHERE merk='".$_GET['drop_1']."'AND modelserie='".$_GET['drop_2']."' AND model='".$drop_var."'")
or die(mysql_error());
echo '<select name="drop_4" id="drop_4">
<option value=" " disabled="disabled" selected="selected">Choose one</option>';
while($drop_4 = mysql_fetch_array( $result ))
{
echo '<option value="'.$drop_4['uitvoering'].'">'.$drop_4['uitvoering'].'</option>';
}
echo '</select> ';
echo '<input type="submit" name="submit" value="Submit" />';
}
?>
//**************************************
// Page load dropdown results //
//**************************************
function getTierOne()
{
$result = mysql_query("SELECT DISTINCT merk FROM autos")
or die(mysql_error());
while($tier = mysql_fetch_array( $result ))
{
echo '<option value="'.$tier['merk'].'">'.$tier['merk'].'</option>';
}
}
//**************************************
// First selection results //
//**************************************
if($_GET['func'] == "drop_1" && isset($_GET['func'])) {
drop_1($_GET['drop_var']);
}
function drop_1($drop_var)
{
include_once('../../includes/config.inc.php');
$result = mysql_query("SELECT DISTINCT modelserie FROM autos WHERE merk='$drop_var'")
or die(mysql_error());
echo '<select name="drop_2" id="drop_2">
<option value=" " disabled="disabled" selected="selected">Choose one</option>';
while($drop_2 = mysql_fetch_array( $result ))
{
echo '<option value="'.$drop_2['modelserie'].'">'.$drop_2['modelserie'].'</option>';
}
echo '</select>';
echo "<script type=\"text/javascript\">
$('#wait_2').hide();
$('#drop_2').change(function(){
$('#wait_2').show();
$('#result_2').hide();
$.get(\"func.php\", {
func: \"drop_2\",
drop_var: $('#drop_2').val()
}, function(response){
$('#result_2').fadeOut();
setTimeout(\"finishAjax_tier_three('result_2', '\"+escape(response)+\"')\", 400);
});
return false;
});
</script>";
}
//**************************************
// Second selection results //
//**************************************
if($_GET['func'] == "drop_2" && isset($_GET['func'])) {
drop_2($_GET['drop_var']);
}
function drop_2($drop_var)
{
include_once('../../includes/config.inc.php');
$result = mysql_query("SELECT DISTINCT model FROM autos WHERE modelserie='$drop_var'")
or die(mysql_error());
echo '<select name="drop_3" id="drop_3">
<option value=" " disabled="disabled" selected="selected">Choose one</option>';
while($drop_3 = mysql_fetch_array( $result ))
{
echo '<option value="'.$drop_3['model'].'">'.$drop_3['model'].'</option>';
}
echo '</select>';
echo "<script type=\"text/javascript\">
$('#wait_3').hide();
$('#drop_3').change(function(){
$('#wait_3').show();
$('#result_3').hide();
$.get(\"func.php\", {
func: \"drop_3\",
drop_var: $('#drop_3').val()
}, function(response){
$('#result_3').fadeOut();
setTimeout(\"finishAjax_tier_four('result_3', '\"+escape(response)+\"')\", 400);
});
return false;
});
</script>";
}
//**************************************
// Second selection results //
//**************************************
if($_GET['func'] == "drop_3" && isset($_GET['func'])) {
drop_3($_GET['drop_var']);
}
function drop_3($drop_var)
{
include_once('../../includes/config.inc.php');
$result = mysql_query("SELECT DISTINCT uitvoering FROM autos WHERE merk='".$_GET['drop_1']."'AND modelserie='".$_GET['drop_2']."' AND model='".$drop_var."'")
or die(mysql_error());
echo '<select name="drop_4" id="drop_4">
<option value=" " disabled="disabled" selected="selected">Choose one</option>';
while($drop_4 = mysql_fetch_array( $result ))
{
echo '<option value="'.$drop_4['uitvoering'].'">'.$drop_4['uitvoering'].'</option>';
}
echo '</select> ';
echo '<input type="submit" name="submit" value="Submit" />';
}
?>
Toevoeging op 31/08/2010 14:10:46:
Heb het probleem opgelost door na elke selectie in de dropdownlist de gegevens naar een SESSION te schrijven en die later weer op te vragen.
Voorbeeld:
Code (php)
Gewijzigd op 31/08/2010 14:41:00 door Web razor
Er zijn nog geen reacties op dit bericht.