Page 1 of 1

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

Posted: 15/05/2009 2:59 pm
by Nong.Nuch
มีเรื่องรบกวนถามหน่อยค่ะ ถ้าเราต้องการจะค้นหาข้อมูลในหลาย ๆ เงื่อนไข พร้อมกัน
จะต้องเขียนโค้ด อย่างไงค่ะ ถ้ามีฟอร์มรับข้อมูลตามไฟล์ที่แนบมาค่ะ

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

Posted: 15/05/2009 4:02 pm
by mindphp
การกำหนด หลายๆ เงือน ไข ก็ใส่ AND หรือ OR แต่ละ เงื่อนไข ตามที่ต้องการ
แนะนำให้ศึกษา SQL เยอะๆ ครับ
คงช่วยได้แค่การแนะนำนะครับ

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

Posted: 15/05/2009 5:57 pm
by 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;

?>
ที่เหลือเอาไปต่อยอดเองนะครับ

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

Posted: 20/05/2009 2:27 pm
by Nong.Nuch
ลองเอาไปประยุกต์ใช้ดูแล้วค่ะ แต่ได้ค่าไม่ตรงค่ะ
คือถ้าเรากรอกข้อมูครบทุกเงือนไขมันก็จะออกมาตรงค่ะ
แต่ถ้าเรากรอกแค่บางเงือนไขผลลัพธ์ที่ได้จะออกมาทั้ง Database เลยค่ะ
งงไปหมดเลยค่ะ รบกวนขอคำแนะนำจากผู้รู้หน่อยค่ะ ว่าจะต้องทำอย่างไงต่อไปอ่ะค่ะ
พอจะมีโค้ดที่ละเอียดกว่านี้ไหมค่ะ