มีเรื่องรบกวนถามหน่อยค่ะ ถ้าเราต้องการจะค้นหาข้อมูลในหลาย ๆ เงื่อนไข พร้อมกัน
จะต้องเขียนโค้ด อย่างไงค่ะ ถ้ามีฟอร์มรับข้อมูลตามไฟล์ที่แนบมาค่ะ
การค้นหาหลาย ๆ เงื่อน พร้อมกัน
Moderator: mindphp, ผู้ดูแลกระดาน
-
- PHP Sr. Member
- โพสต์: 50
- ลงทะเบียนเมื่อ: 02/09/2008 10:49 pm
การค้นหาหลาย ๆ เงื่อน พร้อมกัน
- แนบไฟล์
-
- form.GIF (4.23 KiB) Viewed 1398 times
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41387
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: การค้นหาหลาย ๆ เงื่อน พร้อมกัน
การกำหนด หลายๆ เงือน ไข ก็ใส่ AND หรือ OR แต่ละ เงื่อนไข ตามที่ต้องการ
แนะนำให้ศึกษา SQL เยอะๆ ครับ
คงช่วยได้แค่การแนะนำนะครับ
แนะนำให้ศึกษา SQL เยอะๆ ครับ
คงช่วยได้แค่การแนะนำนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- PHP Newbie
- โพสต์: 2
- ลงทะเบียนเมื่อ: 15/05/2009 5:35 pm
Re: การค้นหาหลาย ๆ เงื่อน พร้อมกัน
code จะประมาณนี้ครับ
<?
$reqName = $_POST['name'];
$reqSurname = $_POST['surname'];
$reqEmail = $_POST['email'];
$reqSex = $_POST['sex'];
$reqAddress = $_POST['address'];
$reqHobbies = $_POST['hobbies'];
$reqKnowFrom = $_POST['knowFrom'];
// make sqlCriteria
$sqlCriteria = "";
if(isset($reqName)) $sqlCriteria .= " name like '%$reqName%' or ";
if(isset($reqSurname)) $sqlCriteria .= " surname like '%$reqSurname%' or ";
if(isset($reqEmail)) $sqlCriteria .= " email like '%$reqEmail%' or ";
if(isset($reqSex)) $sqlCriteria .= " sex like '%$reqSex%' or ";
if(isset($reqAddress)) $sqlCriteria .= " address like '%$reqAddress%' or ";
if(isset($reqHobbies)) $sqlCriteria .= " hobbies like '%$reqHobbies%' or ";
if(isset($reqKnowFrom)) $sqlCriteria .= " knowFrom like '%$reqKnowFrom%' or ";
if($sqlCriteria != "") {
$sqlCriteria = substr($sqlCriteria,0,$sqlCriteria-3);
$sqlCriteria = " where ".$sqlCriteria;
}
$_query = "select * from table ".$sqlCriteria;
?>
ที่เหลือเอาไปต่อยอดเองนะครับ
<?
$reqName = $_POST['name'];
$reqSurname = $_POST['surname'];
$reqEmail = $_POST['email'];
$reqSex = $_POST['sex'];
$reqAddress = $_POST['address'];
$reqHobbies = $_POST['hobbies'];
$reqKnowFrom = $_POST['knowFrom'];
// make sqlCriteria
$sqlCriteria = "";
if(isset($reqName)) $sqlCriteria .= " name like '%$reqName%' or ";
if(isset($reqSurname)) $sqlCriteria .= " surname like '%$reqSurname%' or ";
if(isset($reqEmail)) $sqlCriteria .= " email like '%$reqEmail%' or ";
if(isset($reqSex)) $sqlCriteria .= " sex like '%$reqSex%' or ";
if(isset($reqAddress)) $sqlCriteria .= " address like '%$reqAddress%' or ";
if(isset($reqHobbies)) $sqlCriteria .= " hobbies like '%$reqHobbies%' or ";
if(isset($reqKnowFrom)) $sqlCriteria .= " knowFrom like '%$reqKnowFrom%' or ";
if($sqlCriteria != "") {
$sqlCriteria = substr($sqlCriteria,0,$sqlCriteria-3);
$sqlCriteria = " where ".$sqlCriteria;
}
$_query = "select * from table ".$sqlCriteria;
?>
ที่เหลือเอาไปต่อยอดเองนะครับ
-
- PHP Sr. Member
- โพสต์: 50
- ลงทะเบียนเมื่อ: 02/09/2008 10:49 pm
Re: การค้นหาหลาย ๆ เงื่อน พร้อมกัน
ลองเอาไปประยุกต์ใช้ดูแล้วค่ะ แต่ได้ค่าไม่ตรงค่ะ
คือถ้าเรากรอกข้อมูครบทุกเงือนไขมันก็จะออกมาตรงค่ะ
แต่ถ้าเรากรอกแค่บางเงือนไขผลลัพธ์ที่ได้จะออกมาทั้ง Database เลยค่ะ
งงไปหมดเลยค่ะ รบกวนขอคำแนะนำจากผู้รู้หน่อยค่ะ ว่าจะต้องทำอย่างไงต่อไปอ่ะค่ะ
พอจะมีโค้ดที่ละเอียดกว่านี้ไหมค่ะ
คือถ้าเรากรอกข้อมูครบทุกเงือนไขมันก็จะออกมาตรงค่ะ
แต่ถ้าเรากรอกแค่บางเงือนไขผลลัพธ์ที่ได้จะออกมาทั้ง Database เลยค่ะ
งงไปหมดเลยค่ะ รบกวนขอคำแนะนำจากผู้รู้หน่อยค่ะ ว่าจะต้องทำอย่างไงต่อไปอ่ะค่ะ
พอจะมีโค้ดที่ละเอียดกว่านี้ไหมค่ะ
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 41