ถ้าเราจะทำ SELECT OPTION แบบ Dynamic ที่สามารถเลือกแล้วอัปเดทได้เลยต้องใช้คำสั่งอะไรครับ ผมหาข้อมูลไม่เจอครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ถ้าเราจะทำ SELECT OPTION แบบ Dynamic ที่สามารถเลือกแล้วอัปเดทได้เลยต้องใช้คำสั่งอะไรครับ ผมหาข้อมูลไม่เจอครับ
สวัสดีคับ ผมทำหน้าการปรับสถานะ ของรายการนั้น เดิมผมใช้แบบฟร้อมแก้ไขทั่วไป คลิกเข้าไปแล้วเปลี่ยนแล้วอัปเดท
แต่อันนี้ผมจะทำสำหรับส่วนประสะถานะ คือ แสดงผลข้อมูลรายการแต่ละรายการ แบบSELECT OPTION แล้วพอเราเลือกเช่น ตอบรับแล้ว ก็จะให้มันอัปเดทไปเลยครับ ไม่ต้องมีปุ่มบรรทึกอะไร ทำแบบไหนครับ ผมหาข้อมูลไม่ได้ครับแบบนี้

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ

ขอโทษครับที่ผมสือสารผิด
ผมแสดงรายแบบ SELECT ออกมได้แล้วครับ ที่ผมหมายถึงคือ
พอแสดงมาแล้ว ประมาณมาว่า หมายตัวอันก่อนที่เอามาให้ผม
พอแสดงมาแล้วจะโชว์ค่าที่เลือกก่อน เช่นใน table ฟิวชื่อ confirm enum yes no
ในรายนั้น ผมเลือก yes ไว้
พอผมเอามาแสดง ก็จะโชว์ yes อันดับแรก และ no อันสอง และพอผมเปลี่ยนไปเลือก no ก็ให้มันอัปเดทเป็น no ไปเลย โดยที่ไม่ต้อง acrion หรือปุ่ม subbmit อะไรครับ


โค้ดตามตัวอย่างที่แนะนำคือ เมื่อเปลี่ยนค่า select option เช่นจาก yes ไป no ก็จะให้ ajax ส่งค่าใหม่
ไปยังไฟล์ที่เราจะบันทึกข้อมูล และก็อัพเดทค่านั้นในทันที
สมมติไฟล์อัพเดทเราชื่อ update_status.php โค้ดคร่าวๆ เชนรับค่าที่ส่งมาแบบโพสแล้วอัพเดท
<?php header("Content-type:text/html; charset=UTF-8"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); include("connect.php"); // http://www.ninenik.com/content.php?arti_id=527 if(isset($_POST['am_id']) && $_POST['am_id']!="" && isset($_POST['id_user']) && $_POST['id_user']!=""){ $sql=" UPDATE user SET am_id='".$_POST['am_id']."' WHERE id_user='".$_POST['id_user']."' "; $result=$mysqli->query($sql); if($result){ if($mysqli->affected_rows>0){ echo 1; // แสดงค่าว่ามีการอัพเดทข้อมูลด้วย 1 }else{ echo 0; // ไม่มีการอัพเดทข้อมูล } } } ?>
โค้ดของไฟล์การใช้งาน ajax และส่งค่า POST
<select name="am_id" id="am_id"> <option value="1" selected>1</option> <option value="2">2</option> <option value="2">3</option> </select> <input type="hidden" name="user_id" id="user_id" value="6"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(function(){ // เมื่อเปลี่ยนค่าของ select id เท่ากับ am_id $("select#am_id").on("change",function(){ // ส่งค่า ตัวแปร am_id และ user_id มีค่าเท่ากับค่าที่เลือก ส่งแบบ post ไปที่ไฟล์ update_status.php $.post("update_status.php",{ am_id:$(this).val(), id_user:$("#user_id").val() },function(data){ // คืนค่ากลับมา if(data==1){ // ทำงานอัพเดทสำเร็จ } }); }); }); </script>
ลองหาข้อมูลศึกษาเกี่ยวกับการใช้งาน ajax ใน jquery เพิ่มเติมดู

