|  | 
	                
  
    | 
	 
        จะกำหนดตัวเลือก Listbox 2 จาก Listbox 1 ไดยังไง (เชื่อมกับ DATABASE)     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | event onchange หา document อ่าน จะมีตัวอย่างการใช้งานให้ด้วย 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-21 08:01:23 | By :
                            Chaidhanan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ลองกี่ทีก็ไม่ได้ผลเลยครับ Code (PHP)
 
   <script src="Boostrap\js\jquery-1.11.1.min.js" type="text/javascript"></script>
        <script type="text/javascript">
          $(document).ready(function() {
            $('#Working').change(function() {
              var Ar = $(this).val();
              alert(Ar);
                $.ajax({
                    type: 'POST',
                    data: {Working: $(this).val()},
                    url: 'select_product.php',
                    success: function(data) {
                    $('#WorkingType').html(data);
                            }
                        });
                        return false;
                    });
                });
    </script>
 อันนี้ตัว select box
 Code (PHP)
 
 <div class="form-row">
          <div class="form-group col-md-6">
          <label for="Working">ความอนุเคราะห์</label>
          <select name="Working3" class="form-control" id="Working" onchange="checkSelect(this.value);" required>
            <option selected></option>
            <?php
                  $sql = "SELECT * FROM tb_working ";
                  $result = mysqli_query($con,$sql);
                  while ($data = mysqli_fetch_array($result))
                  {
              ?> <!-- ปิดด้วย php เพื่อให้ใช้โค้ตื่นได้ -->
              <option value="<?php echo $data["wid"];?>"><?php echo $data["object_need"];?></option>
            <?php
            }
             ?>
          </select>
        </div>
          <div class="form-group col-md-6">
            <label for="WorkingType">งานที่ใช้</label>
            <select name="WorkingType3" class="form-control" id="WorkingType" disabled>
              <option selected></option>
            </select>
          </div>
        </div>
 แล้วไฟล์ที่ไว้ตรวจสอบก็ลองแปลงให้เข้ากับไฟล์ของผมแล้ว
 Code (PHP)
 
 <?php
include "connectDB.php";
$Working_id = (isset($_POST['Working'])) ? $_POST['working'] : "";
echo $working_id;
$Query = mysqli_query($con,"SELECT * FROM tb_working_type WHERE Object_type='{$Working_id}'");
$Rows = mysqli_num_rows($Query);
echo $Rows;
if ($Rows > 0) {
    while ($Result = mysqli_fetch_array($Query)) {
        echo "<option value=\"" . $Result['wid'] . "\">" . $Result['object_need'] . "</option>";
    }
}else{
    echo "<option value=\"\">ไม่มีสินค้าในหมวดหมู่ที่เลือก</option>";
}
 ?>
 ผลก็ออกมาแบบเดิมเลยครับ ว่างเปล่า
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 08:54:11 | By :
                            myjack2007 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ไม่รู้ว่าโค้ดตัวนี้ ถูกหรือป่าวนะครับ ดูอีกที
 Code (PHP)
 
 <option selected></option>
 
 มันน่าจะเป็น
 
 Code (PHP)
 
 <option></option>
 
 หรือถ้ามันมีการส่งค่ามาให้จริงก็น่าจะเป็น
 
 Code (PHP)
 
 <option id="?????"></opiton>
 
 |  
              | 
 ประวัติการแก้ไข
 2019-04-22 09:17:35
 2019-04-22 09:58:20
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 09:16:03 | By :
                            nobetaking |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | 04. <select name="Working3" class="form-control" id="Working" onchange="checkSelect(this.value);" required> 
 ข้างบน สีแดง ย้ายไปใส่ใน javascript เลย มันสร้าง event เรียกซ้ำซ้อน ก้น
 อะไรทำงานก่อนอะไรทำงานหลัง คุณเข้าใจดีหรือเปล่า
 
 Code (JavaScript)
 
 
$('#Working').change(function() {
   checkSelect(this.value);  // และทำอะไรก็ไม่รู้
 
 Code (PHP)
 
 <?php
include "connectDB.php";
$Working_id = (isset($_POST['Working'])) ? $_POST['working'] : "";
// echo $working_id; มาร์คเอาไว้ มันทำให้ข้อมูลไม่ถูกต้อง
$Query = mysqli_query($con,"SELECT * FROM tb_working_type WHERE Object_type='{$Working_id}'");
$Rows = mysqli_num_rows($Query);
// echo $Rows;  มาร์คเอาไว้ มันทำให้ข้อมูลไม่ถูกต้อง
if ($Rows > 0) {
    while ($Result = mysqli_fetch_array($Query)) {
        echo '<option value="' . $Result['wid'] . '">' . $Result['object_need'] . '</option>';
        // เปลี่ยนใช้ quote ให้ถูกกับงาน
        // หรือแบบนี้ echo "<option value='$Result[wid]' >$Result[object_need]</option>";
    }
}else{
    echo '<option value="">ไม่มีสินค้าในหมวดหมู่ที่เลือก</option>';
}
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 09:51:20 | By :
                            Chaidhanan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | โค้ตตัวนั้นมีไว้ให้เป็นค่าว่างครับ เอาไว้ตรวจสอบว่าผู้ใช้ต้องเลือก option ในกรณีที่ผู้ใช้ลืมเลือกครับ 
 แต่เดี๋ยวจะลองสังเกตดูอีกที
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 09:52:05 | By :
                            myjack2007 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ล่าสุด ทำตามคลิปต่างชาติแบบถี่ยิบ (มีแค่ jquery.js ที่ผมใช้เป็น jquery.min.js) ก็ยังไม่ได้ผลเลย T_T Code (PHP)
 
 <?php
function load_country(){
  include "connectDB.php";
  $output= '';
  $sql = "SELECT * FROM tb_working ORDER BY object_need";
  $result = mysqli_query($con, $sql);
  while ($row = mysqli_fetch_array($result)) {
    $output .= '<option value="'.$row["wid"].'">'.$row["object_need"].'</option>';
  }
  return $output;
}
 ?>
<hrml>
  <head>
  <title></title>
  <script src="jquery.min.js"></script>
  </head>
  <body>
    <p><label>เลือกความอนุเคราะห์</label>
    <select name="working" id="working">
      <option value="">เลือกความอนุเคราะห์</option>
      <?php echo load_country(); ?>
    </select></p>
    <p><label>เลือกความอนุเคราะห์</label>
    <select name="workingType" id="workingType">
      <option value="">เลือกหัวข้อ</option>
    </select></p>
  </body>
</html>
<script>
$(document).ready(function(){
    $('#working').change(function(){
      var working_W = $(this).val();
      $.ajax({
        url:"fetch_type.php",
        method:"POST",
        data:{workingW:working_W},
        success:function(data)
        {
            $('#workingType').html(data);
        }
      });
    });
});
</script>
 fetch_type.php
 Code (PHP)
 
 <?php
include "connectDB.php";
$output = '';
$sql = "SELECT * FROM tb_working_type WHERE wid='".$_POST['workingW']."' ORDER BY working_type";
$result = mysqli_query($con, $sql);
$output='<option value="">เลือก</option>';
while ($row = mysqli_fetch_array($result)) {
  $output = '<option value="'.$row["wtid"].'">'.$row["working_type"].'</option>';
}
echo $output;
 ?>
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 09:58:45 | By :
                            myjack2007 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เพิ่มการตรวจสอบ error เข้าไปด้วย Code (JavaScript)
 
 
$.ajax({
	url:"fetch_type.php",
	method:"POST",
       dataType: 'json',  // กำหนดการรับข้อมูลเป็น json
	data:{workingW:working_W},
	success:function(rs){
		if(rs.complete==1){
			$('#workingType').html(rs.data);
		}else{
			alert(rs.error)
		}
	},
	error: (jqXHR, exception){
		var msg = '';
		if (jqXHR.status === 0) { msg = 'Not connect.\n Verify Network.';
		} else if (jqXHR.status === 404) { msg = 'Requested page not found. [404]';
		} else if (jqXHR.status === 500) { msg = 'Internal Server Error [500].';
		} else if (exception === 'parsererror') { msg = 'Requested JSON parse failed.';
		} else if (exception === 'timeout') { msg = 'Time out error.';
		} else if (exception === 'abort') { msg = 'Ajax request aborted.';
		} else { msg = 'Uncaught Error.\n' + jqXHR.responseText;
		}
		alert(msg);
	}
});
 Code (PHP)
 
 <?php
include "connectDB.php";
$output = '';
$sql = "SELECT * FROM tb_working_type WHERE wid='".$_POST['workingW']."' ORDER BY working_type";
$result = mysqli_query($con, $sql);
$output='<option value="">เลือก</option>';
while ($row = mysqli_fetch_array($result)) {
  $output = '<option value="'.$row["wtid"].'">'.$row["working_type"].'</option>';
}
echo json_encode(['complete'=>1, 'data'=>$output);
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 10:10:53 | By :
                            Chaidhanan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | (jqXHR, exception)=>{ โทษทีเพิ่มสีแดงด้วย
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 12:05:27 | By :
                            Chaidhanan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | Error คำเดิม ที่เดิมเลยครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 13:28:26 | By :
                            myjack2007 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เอาโค๊ดเต็มๆ ที่ทำมาดูอีกทีครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-04-22 14:54:07 | By :
                            Chaidhanan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |