Merhaba arkadaşlar.
İşin içinde Jquery olduğunun da farkındayım ama Php & Mysql de var.O nedenle buraya açma gereği duydum konuyu.
Şimdi arkadaşlar elimde birbirine bağlı üçlü comboboxlar var.Seçime göre Mysql'den veri çekiyor.Ancak ben bunu 4 ya da 5'li yapmak istiyorum.
tier_four adında bir kolon daha açtım, kodlarını da yazdım ama sonuç alamadım.
Kodlar aşağıda
db.php dosyası
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
?>func.php dosyası
<?php
//**************************************
// Page load dropdown results //
//**************************************
function getTierOne()
{
$result = mysql_query("SELECT DISTINCT tier_one FROM three_drops")
or die(mysql_error());
while($tier = mysql_fetch_array( $result ))
{
echo '<option value="'.$tier['tier_one'].'">'.$tier['tier_one'].'</option>';
}
}
//**************************************
// First selection results //
//**************************************
if($_GET['func'] == "drop_1" && isset($_GET['func'])) {
drop_1($_GET['drop_var']);
}
function drop_1($drop_var)
{
include_once('db.php');
$result = mysql_query("SELECT DISTINCT tier_two FROM three_drops WHERE tier_one='$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['tier_two'].'">'.$drop_2['tier_two'].'</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('db.php');
$result = mysql_query("SELECT * FROM three_drops WHERE tier_two='$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['tier_three'].'">'.$drop_3['tier_three'].'</option>';
}
echo '</select> ';
echo '<input type="submit" name="submit" value="Submit" />';
}
?>index.php dosyası
<?php
include('db.php');
include('func.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>Chained Select Boxes using PHP, MySQL and jQuery</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#wait_1').hide();
$('#drop_1').change(function(){
$('#wait_1').show();
$('#result_1').hide();
$.get("func.php", {
func: "drop_1",
drop_var: $('#drop_1').val()
}, function(response){
$('#result_1').fadeOut();
setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
});
return false;
});
});
function finishAjax(id, response) {
$('#wait_1').hide();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
function finishAjax_tier_three(id, response) {
$('#wait_2').hide();
$('#'+id).html(unescape(response));
$('#'+id).fadeIn();
}
</script>
</head>
<body>
<p>
<form action="" method="post">
<select name="drop_1" id="drop_1">
<option value="" selected="selected" disabled="disabled">Select a Category</option>
<?php getTierOne(); ?>
</select>
<span id="wait_1" style="display: none;">
<img alt="Please Wait" src="ajax-loader.gif"/>
</span>
<span id="result_1" style="display: none;"></span>
<span id="wait_2" style="display: none;">
<img alt="Please Wait" src="ajax-loader.gif"/>
</span>
<span id="result_2" style="display: none;"></span>
</form>
</p>
<p>
<?php if(isset($_POST['submit'])){
$drop = $_POST['drop_1'];
$drop_2 = $_POST['drop_2'];
$drop_3 = $_POST['drop_3'];
echo "You selected a ";
echo $drop_3." ".$drop." ".$drop_2;
}
?>
</body>
</html>Bu da mysql
CREATE TABLE IF NOT EXISTS `three_drops` (
`id` int(11) NOT NULL auto_increment,
`tier_one` varchar(255) NOT NULL,
`tier_two` varchar(255) NOT NULL,
`tier_three` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;
INSERT INTO `three_drops` (`id`, `tier_one`, `tier_two`, `tier_three`) VALUES
(1, 'Chevy', 'Camaro', 'Black'),
(2, 'Chevy', 'Camaro', 'White'),
(3, 'Chevy', 'Trailblazer', 'Blue'),
(4, 'Chevy', 'Trailblazer', 'Red'),
(5, 'Chevy', 'Camaro', 'Red'),
(6, 'Ford', 'Mustang', 'White'),
(7, 'Ford', 'Mustang', 'Red'),
(8, 'Ford', 'Mustang', 'Black'),
(9, 'Ford', 'F-350', 'White'),
(10, 'Ford', 'F-350', 'Green'),
(11, 'Honda', 'Civic', 'Black'),
(12, 'Honda', 'Civic', 'Red'),
(13, 'Honda', 'Civic', 'Silver'),
(14, 'Honda', 'Prelude', 'Red'),
(15, 'Honda', 'Prelude', 'White');
Şimdiden çok teşekkürler.Yardımlarınızı eksik etmeyin