Daha önce dinamik olmayan veritabanına bağlı combobox, checkbox vs.. anlatımım mevcuttu.
https://wmaraci.com/forum/php/paylasim-veritabanina-bagli-radio-checkbox-vbulletin-527567.html
Şimdi anlatacağım ise veritabanına bağlı dinamik combobox ve checkbox. İl ve ilçe vb. şekillerde kullanabilirsiniz.
Anlatım combobox içindir, fakat türevleri içinde aynı yöntem geçerlidir.
Sırasıyla ;
2 Adet tablomuz olsun, bunlar :
1. tablo fakulteler
2. tablo bolumler
Bu tablolarımızın tasarımı şu şekilde olsun :
1. tablofakulteler
id fakulte_adi
2. tablobolumler
id fakulte_id bolum_adi
Şimdi sırasıyla dosyalarımız :
1. zcomdb(klasik ayar.php veya dbconn.php)
//db details
$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = '';
$dbName = 'test';
//Connect and select the database
$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
?>
2. zajax.php (klasik ajax.php)
include('zcomdb.php');
if(isset($_POST["id"]) && !empty($_POST["id"])){
$query = $db->query("SELECT * FROM bolumler WHERE fakulte_id = ".$_POST['id']." AND bolum_adi IS NOT NULL ORDER BY bolum_adi ASC");
$rowCount = $query->num_rows;
if($rowCount > 0){
echo '';
while($row = $query->fetch_assoc()){
echo '';
}
}else{
echo '';
}
}
?>
3. zindex.php (klasik index.php)
Deneme
<script></script>
<script></script>
<script></script>
<script>
$(document).ready(function(){
$('#fakulte').on('change',function(){
var fakulteID = $(this).val();
if(fakulteID){
$.ajax({
type:'POST',
url:'zajax.php',
data:'id='+fakulteID,
success:function(html){
$('#bolum').html(html);
}
});
}else{
$('#bolum').html('');
}
});
});
</script>
Select box örneği
include('zcomdb.php');
$query = $db->query("SELECT * FROM fakulteler WHERE fakulte_adi IS NOT NULL ORDER BY fakulte_adi ASC");
$rowCount = $query->num_rows;
?>
İyi forumlar.