การค้นหาหลาย ๆ เงื่อน พร้อมกัน

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

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

Nong.Nuch
PHP Sr. Member
PHP Sr. Member
โพสต์: 50
ลงทะเบียนเมื่อ: 02/09/2008 10:49 pm

การค้นหาหลาย ๆ เงื่อน พร้อมกัน

โพสต์ที่ยังไม่ได้อ่าน โดย Nong.Nuch »

มีเรื่องรบกวนถามหน่อยค่ะ ถ้าเราต้องการจะค้นหาข้อมูลในหลาย ๆ เงื่อนไข พร้อมกัน
จะต้องเขียนโค้ด อย่างไงค่ะ ถ้ามีฟอร์มรับข้อมูลตามไฟล์ที่แนบมาค่ะ
แนบไฟล์
form.GIF
form.GIF (4.23 KiB) Viewed 1398 times
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41387
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: การค้นหาหลาย ๆ เงื่อน พร้อมกัน

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

การกำหนด หลายๆ เงือน ไข ก็ใส่ AND หรือ OR แต่ละ เงื่อนไข ตามที่ต้องการ
แนะนำให้ศึกษา 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
nakikaede
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 15/05/2009 5:35 pm

Re: การค้นหาหลาย ๆ เงื่อน พร้อมกัน

โพสต์ที่ยังไม่ได้อ่าน โดย nakikaede »

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;

?>
ที่เหลือเอาไปต่อยอดเองนะครับ
Nong.Nuch
PHP Sr. Member
PHP Sr. Member
โพสต์: 50
ลงทะเบียนเมื่อ: 02/09/2008 10:49 pm

Re: การค้นหาหลาย ๆ เงื่อน พร้อมกัน

โพสต์ที่ยังไม่ได้อ่าน โดย Nong.Nuch »

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

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 41