آموزش اتصال دو combo در php با روش Ajax
سلام دوستان.امروز در سایت چسبون آموزش اتصال دو کمبو در php به روش ajax رو آموزش میدم بهتون. گاهی شما میخواین دو عدد کمبوباکس رو بهم مرتبط کنید.مثلا کاربر روی استان کلیک کرد شهرستاناش بصورت اجاکس load بشه. روش اتصال ما به دیتابیس PDO هست. ما اینجا ۴ فایل براتون آماده کردیم: فایل ایندکس که صفحه اول سایت هست با نام index.php
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<?php require_once('dbcontroller.php'); $conn = new PDO("mysql:host=$sName;dbname=$dName", uName, pWord); $result = $conn->query('select * from state ORDER BY id'); $data = $result->fetchAll(PDO::FETCH_ASSOC); echo "<select onchange=getDetails(this.value) >"; foreach ($data as $nama) { $state_id = $nama['id']; echo "<option value='$state_id'>" . $nama['statename'] . "</option>\n"; } echo "</select>"; ?>
<script> function getDetails(id){ $.post('get_state.php',{state:id},function(data) { $('#dd').html(data); }); };
</script>
<select id="dd">
</select>
</body>
</html>
فایل بررسی و گرفتن شهرستان ها از دیتابیس با نام get_state.php :
<?php if(isset($_POST['state'])){ require_once('dbcontroller.php'); $state_id=$_POST['state']; $conn= new PDO("mysql:host=$sName;dbname=$dName" ,uName,pWord); $result=$conn->query("select * from city WHERE state_id ='$state_id' ORDER BY id"); $data=$result->fetchAll(PDO::FETCH_ASSOC); if(isset($data)){ foreach ($data as $nama ){ $stateIds=$nama['id']; echo "<option value='$stateIds'>" . $nama['cityname'] . "</option>\n"; }}}
فایل سوم اطلاعات مربوط به اتصال به دیتابیس با نام dbcontroller.php
<?php define('uName','root'); define('pWord',''); $sName="localhost"; $dName="hamid";
فایل چهارم هم فایل JQuery برای کار با توابع Ajax که همراه با دیتابیس پیوست شده. سوالی داشتین در خدمتم. دانلود سورس