ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
M030
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 532
ลงทะเบียนเมื่อ: 07/09/2015 10:06 am

ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

โพสต์โดย M030 » 08/12/2015 6:19 pm

ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax หน่อยคะ เช่น ถ้าเราเลือกจังหวัดลำปาง แล้วต้องการให้กรองเอามาเฉพาะอำเภอที่อยู่ในจังหวัดลำปาง จะทำยังไงค่ะ

M031
PHP Hero Member
PHP Hero Member
โพสต์: 156
ลงทะเบียนเมื่อ: 20/11/2015 9:05 am

Re: ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

โพสต์โดย M031 » 09/12/2015 3:14 am

ไฟล์ทั้งหมดมี 4 ไฟล์คือ

config.php, function.php, index.php, jquery-2.1.4.min.js
อ้างอิง ฐานข้อมูลจาก
http://www.mindphp.com/forums/viewtopic.php?f=74&t=31537&p=72345#p72345

test.png
test.png (82.79 KiB) เปิดดู 1012 ครั้ง


1. config.php

โค้ด: เลือกทั้งหมด

<?php
$host = "localhost";
$user = "root";
$pass = "1234";
$db = "mdsoft";
$con = mysql_connect($host,$user,$pass);
if($con){
   $db = mysql_select_db($db);
}else{
   echo "Can't connect";
}
mysql_query('SET NAMES UTF8');
?>

config ต่างๆ ปรับให้เข้ากับฐานข้อมูลของเรา

2.function.php

โค้ด: เลือกทั้งหมด

<?php
function queryprovince($sql){
   $query = mysql_query($sql);
   return $query;
}
function queryrowamphur(){
   $sql = 'select * from amphures';
   $query = mysql_query($sql);
   $queryrow = mysql_num_rows($query);
   return $queryrow;
}
function querystramphur(){
   $id = $_GET['provinces'];
   $sql = 'select * from amphures where PROVINCE_ID = '.$id.'  ';
   $query = mysql_query($sql);
   return $query;
}
?>


3. index.php

โค้ด: เลือกทั้งหมด

<?php
include_once('config.php');
include_once('function.php');
?>

<html>
<head>
   <meta charset="UTF-8">
   <title>test test</title>
   <script src="jquery-2.1.4.min.js" type="text/javascript"></script>
</head>
<body>
   <select name="provinces" id="provinces">

      <?php

      $sql = queryprovince('select * from provinces');

      while($re = mysql_fetch_array($sql)){ ?>

      <option value="<?php echo $re['PROVINCE_ID']; ?>">

         <?php echo $re['PROVINCE_NAME']; ?>

      </option>

      <?php } ?>

   </select>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <select name="amp" id="amp">

      <option value="0" disabled >กรุณาเลือกจังหวัด</option>

   </select>


   <?php
   $id =  $_POST['provinces'];

   if(isset($_GET['provinces'])){

      $sql = querystramphur($_GET['provinces']);

      $row = queryrowamphur();

      if ($row > 0) {

         $text = '<option disabled>'.'กรุณาเลือกจังหวัด'.'</option>';

         while ($amp = mysql_fetch_array($sql)) {

            echo '<option value='.$amp['AMPHUR_ID'].'>'.$amp['AMPHUR_NAME'].'</option>';
         }
      }
   }
   ?>

   <script type="text/javascript">
   $(document).ready(function() {
      $('#provinces').change(function() {
         $.ajax({
            type: 'GET',
            data: {provinces: $(this).val()},
            url: 'index.php',
            success: function(data) {
               $('#amp').html(data);
            }
         });
      });
   });
   </script>

</body>
</html>



test1.PNG
test1.PNG (37.57 KiB) เปิดดู 1012 ครั้ง

ตัวอย่างการเลือก จังหวัดลำปาง ก็จะแสดง show ข้อมูลอำเภอในจังหวัดลำปาง

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 18102
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

โพสต์โดย thatsawan » 09/12/2015 10:47 am

ถ้าเป็น phpBB ให้ไป ศึกษา ajax ของ phpBB ก่อนให้เข้าใจ
https://wiki.phpbb.com/Using_AJAX

ดูว่ามันจะทำยังไงเวลาใช้งาน php + jquery + ajax

ภาพประจำตัวสมาชิก
M030
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 532
ลงทะเบียนเมื่อ: 07/09/2015 10:06 am

Re: ขอวิธีการเขียน listbox โดยส่งค่าแบบ ajax

โพสต์โดย M030 » 09/12/2015 2:47 pm

ขอบคุณสำหรับคำตอบค่ะ :")


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 42 และ บุคคลทั่วไป 0 ท่าน