การใช้checkbox ดึงข้อมูล
ใช้PHP
คืออยากถามว่าจะใช้ checkbox ในการดึงข้อมูลจากฐานข้อมูล(MySql)อย่างไรคับ
ผมมีสองตารางคือ ตารางประเภทสินค้า กับตารางสินค้า แล้ว checkbox คือตัวประเภทของสินค้า
สามารถติ๊กcheckbox ได้หลายตัว เมื่อเราเลือกสินค้าประเภทไหนก็จะนำมาแสดงเฉพาะสินค้าที่อยู่ในประเภทที่เลือกนั้นโดยการกดปุ่ม
โดยแสดงในหน้านั้นเลย
ขอบคุณมากคับ
คืออยากถามว่าจะใช้ checkbox ในการดึงข้อมูลจากฐานข้อมูล(MySql)อย่างไรคับ
ผมมีสองตารางคือ ตารางประเภทสินค้า กับตารางสินค้า แล้ว checkbox คือตัวประเภทของสินค้า
สามารถติ๊กcheckbox ได้หลายตัว เมื่อเราเลือกสินค้าประเภทไหนก็จะนำมาแสดงเฉพาะสินค้าที่อยู่ในประเภทที่เลือกนั้นโดยการกดปุ่ม
โดยแสดงในหน้านั้นเลย
ขอบคุณมากคับ
ถ้าแสดงในหน้าเดิม คำตอบก็คง Ajax แหละครับ แต่โค้ดไม่มีให้ เพราะไม่เคยออกแบบไว้
หลักการจริงๆ ของฟอร์มแบบ ajax ก้ไม่ได้ต่างอะไรกับฟอร์มธรรมดา ต่างกันที่ตอนส่งไปเท่านั้น ให้ลองออกแบบฟอร์ม ธรรมดาดูก่อน
มี check box submit ไป แล้วก็ query ออกมา ตรงๆ ตามนั้นเลย ลองทำให้ได้ซะก่อน
ถัดมาถ้าอยากใส่ Ajax รู้จักมันหรือยัง ถ้ายัง ลองทำความเข้าใจกับมันดู ให้เข้าใจก่อนจะดำเนินการต่อ
ถ้ารู้จัก Ajax ดีแล้ว ก็มาทำต่อ
จากฟอร์มธรรมดาด้านบน ไม่มีอะไรต่างกันกับฟอร์มสำหรับ Ajax ข้อแตกต่างของฟอร์มธรรมดากับ Ajax มีเพียงอย่างเดียวคือ
ฟอร์มธรรมดา submit แล้วส่งไปอีกหน้าหนึ่งตาม action ของฟอร์ม
ฟอร์ม Ajax submit แล้วให้ไปเรียก Javascript มาทำงาน ส่งข้อมูลไป query ด้วย Ajax และ ไม่ต้อง submit
โดยทั่วไป ฟอร์ม และ หน้ารับค่า สามารถออกแบบให้เหมือนกันทุกประการได้ มันให้ผลได้อย่างเดียวกัน ทำหน้าที่เีดียวกัน
ลองดูนะครับ ลองศึกษาดูแล้วถ้าติดค่อยมาถามใหม่ ถามให้แคบกว่านี้ซักหน่อย
คือตรงที่่ เวลาเลือก checkbox จะทำยังไงเมื่อเวลาเลือกตัวเลือกแต่ละตัวหรือเลือกหลายตัว Submit ไปแล้วให้มันไปดึงข้อมูล โดยมีเงื่อนไขว่าดึงเฉพาะประเภทที่่เลือกคับ
พึ่งหัดเขียนอะคับ
ขอบคุณครับ
<form method="ส่งแบบ get หรือ post" action="ส่งไปให้ไฟล์ php">
<input type = "checkbox" name = "checkbox[]" value = "checkbox1" />checkbox1<br/>
<input type = "checkbox" name = "checkbox[]" value = "checkbox2" />checkbox2<br/>
<input type = "checkbox" name = "checkbox[]" value = "checkbox3" />checkbox3<br/>
<input name = "send" type = "submit" value = "เรียกดูข้อมูล">
</form>
ไฟล์สำหรับแสดงข้อมูลที่ส่งมา
<?
$checkbox=$_POST['checkbox'];
if(isset($checkbox)){
$connect = mysql_connect('host','user','password');
$count = count($_POST['checkbox']);
for($i=0;$i<$count;$i++){
$item = $checkbox[$i];
$sql="select checkbox from checkbox(like) VALUES('$checkbox[$i])";
$result = mysql_query($sql);
}else{
print("ตื่นๆ มีเรื่องแล้ว");
}
}
?>
บรรทัดสีแดงนั่นมั่วนะ
แต่รูปแบบน่าจะทำนองเนี้ย
ไฟล์ส่งข้อมูล
<form id="form1" name="form1" method="post" action="show.php">
<input type="checkbox" name="cat[]" id="cat[]" value="1"/>
<input type="checkbox" name="cat[]" id="cat[]" value="2"/>
<input type="checkbox" name="cat[]" id="cat[]" value="3"/>
<input type="checkbox" name="cat[]" id="cat[]" value="4"/>
<input type="submit" name="Submit" id="Submit" value="Submit" />
</form>
show.php ไฟล์แสดงข้อมูล คือว่าไอดีข้อมูลแต่ละตัวในตาราง categorie ผมไปตั้งให้เป็น 1 2 3 4 เลยคับ
<?php
$cat=$_POST['cat'];
if(isset($cat)){
$connect = mysql_connect('localhost','root','1234') or die("ErROR DATABASE");
$count = count($_POST['cat']);
for($i=0;$i<$count;$i++){
$item = $cat[$i];
$sql="select * from categorie a,product b where a.cat_Id = b.cat_Id_fk and b.cat_Id_fk = '$item' order by id desc";
$result = mysql_query($sql) or die("ERROR data");
while ($data = mysql_fetch_array($result)) {
echo "$data[pro_Name]";
echo "$data[type_Name]
}
}
}
?>
พอออกมันก็ไม่ได้คับ มันแสดงตรง ERROR data คับ ทำไมมันติดต่อไม่ได้อะคับ
ดำน้ำไปเรื่อยคับ รู้บ้างไม่รู้บ้าง ช่วยแนะนำด้วยคับ
ขอบคุณครับ
ผิดที่ db ก็ลองไปตรวจดู db ตัวเองสิครับ มี อะไร ไม่ตรงกันหรือเปล่า
โค้ดที่เขียนให้ ก็เขียนแบบ คร่าวๆ ยังไงก็ลองทำความเข้าใจกับสิ่งที่ผู้ตอบเขียน และ ไปประยุกต์ให้เข้ากับโค้ดตัวเอง ครับ
ช่วยแนะนำทีคับ ขอบคุณคับ
คงต้องแยกโค้ดที่ติดต่อกับ MySQL ออกไปไว้อีกไฟล์นึง
แล้วสร้างพร้อมให้เรียก AJAX เข้ามาเป็นตัวกลางติดต่อไปยัง
ไฟล์ที่ใช้ติดต่อกับ MySQL แล้วส่งกลับคืนโดยมี AJAX
เป็นพาหะสู่หน้าที่เรียกใช้งานพร้อมทั้งกำหนดให้มันแสดงข้อมูล
ออกมาตรงจุดไหน
อันนี้คร่าวๆ ของการทำงาน ถึงเวลาทำจริงๆ ถ้าติดปัญหาอะไร
ก็มาโพสถามได้ทุกเวลา
ไม่ได้ครับ ช่วยทีครับส่งโปรเจคจบ kumafuc.ker@hotmail.com ให้ตายเหอะแสงแรก ไม่ไหวจิงๆครับ
มาให้ช่วยแบบไร้ที่มาที่ไป.......
คนตอบ งง