ค้นหาข้อมุลแบบมีเงื่อนไขคือว่าเวลาที่เราระบุเงื่อนนะออกตามที่เราต้องการแต่ถ้าเราไม่ระบุ คือ เลือกที่ All นะมานไม่ยอมค้นให้นะจ้ารบกวนแก้โค้ดให้หน่อยนะจ้า
โค้ด แสดงข้อมูล
Code (PHP)
<?
$sql_show = "select * from files";
if($_POST['Search1'])
{
$txt_search1 = $_POST['txt_search1'];
$txt_search2 = $_POST['txt_search2'];
$sql_show.=" where Tools_Product_name like '%$txt_search1%' and Tools_Brand like '$txt_search2'";
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
ประวัติการแก้ไข 2012-01-03 16:41:15 2012-01-03 16:43:16 2012-01-03 16:45:04
Date :
2012-01-03 13:39:12
By :
nongking1
วันนี้ไม่มีใครเลย
รอปุ้งนี้ก้อได้
Date :
2012-01-03 15:59:24
By :
nongking1
โค้ด แสดงข้อมูล
Code (PHP)
<?
$txt_search1 = $_POST['txt_search1'];
$txt_search2 = $_POST['txt_search2'];
$all = $_POST[' เก็บค่าของ all ที่ส่งมา '];
if($_POST['Search1']){
$sql_show="select * from files where Tools_Product_name like '%$txt_search1%' and Tools_Brand like '$txt_search2'";
} else if($_POST['all']){
$sql_show="select * from files where ฟิลด์ที่ใช้เป็นหลักในการเรียก ='$all' ";
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
Date :
2012-01-03 17:24:19
By :
บังเอิญผ่านมาเห็น
เด๋วขอลองก่อนนะเด๋วมาแจ้ง
Date :
2012-01-04 08:06:51
By :
nongking1
Code (PHP)
<?
$txt_search1 = $_POST['txt_search1'];
$txt_search2 = $_POST['txt_search2'];
$all = $_POST[' txt_search2'];
if($_POST['Search1']){
$sql_show="select * from files where Tools_Product_name like '%$txt_search1%' and Tools_Brand like '$txt_search2'";
} else if($_POST['all']){
$sql_show="select * from files where Tools_Product_name ='$all' ";
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
ลองดูแล้วและแก้ตามที่บอกมายังไม่ได้อยู่ดีค่ะ
ไม่รุ้ว่าแก้ตามนี้หรือเปล่านะ
Date :
2012-01-04 08:09:10
By :
nongking1
ลองดูแบบนี้ครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="1">
<tr>
<th>Country Code
<select name="ddlCountryCode" id="ddlCountryCode">
<option>- Select Country Code -</option>
<option value="TH">TH</option>
<option value="EN">EN</option>
<option value="US">US</option>
</select>
Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
// Search By Name or Email
$strSQL = "SELECT * FROM customer WHERE 1 ";
if($_POST["ddlCountryCode"] != "")
{
$strSQL .= " AND (CountryCode = '".$_POST["ddlCountryCode"]."') ";
}
if($_POST["txtKeyword"] != "")
{
$strSQL .= " AND (Name LIKE '%".$_POST["txtKeyword"]."%' or Email LIKE '%".$_POST["txtKeyword"]."%' ) ";
}
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["CustomerID"];?></div></td>
<td><?=$objResult["Name"];?></td>
<td><?=$objResult["Email"];?></td>
<td><div align="center"><?=$objResult["CountryCode"];?></div></td>
<td align="right"><?=$objResult["Budget"];?></td>
<td align="right"><?=$objResult["Used"];?></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
</body>
</html>
Date :
2012-01-04 08:52:46
By :
webmaster
เด๋วน้องของลองก่อนนะค่ะพี่วินเด๋วมาบอกข่าว
Date :
2012-01-04 10:13:40
By :
nongking1
ยังไม่ได้ค่ะพี่วิน คือน้องอยากได้ตอนที่ไม่เลือกอะไรก็ให้มันค้นหาให้แต่ว่าตอนที่น้องเลือกยี่ห้อมานออกอยู่นะจ้าแต่ว่าจะเลือกทั้งหมดนะมานไม่ออกจ้าไม่รู้ว่าพี่จะเข้าใจน้องหรือเปล่า
พี่วินให้มาถูกหรือว่าน้องไม่เข้าใจเองรบกวนอีกทีนะจ้า
ประวัติการแก้ไข 2012-01-04 11:23:10
Date :
2012-01-04 11:22:10
By :
nongking1
ตัวอย่าง code จากพี่วินก็น่าจะได้นะครับ
เพราะว่า คำสั่งชุดนี้
$strSQL = "SELECT * FROM customer WHERE 1 ";
มันก็คือการ select ออกมาหมด ส่วนชุดข้างล่างแค่เช็คเฉยๆ ว่าถ้ามีการใส่ค่ามาค่อยใส่เงื่อนไข and เข้าไปเช็คเพื่ม = = ไม่น่ามีอะไรผิดน้าา
Date :
2012-01-04 16:21:32
By :
nattapol.siri
อร๊าาา เจอแล้วววว
ถ้าสมมุติว่าไม่เลือกอะไร คือการ select ทั้งหมด ค่า txt_search2 จะมีค่า = --------------------All-----------------------
นั่นทำให้มัน select ไม่เจอ :P
เพราะฉะนั้น
ลองใช้ตามนี้ดูครับ
Code (PHP)
$strSQL = "SELECT * FROM files WHERE 1 ";
if($_POST["txt_search2"] != "---------All---------")
{
$strSQL .= " AND (Tools_Brand like '$txt_search2')"
}
if($_POST["txt_search1"] != "")
{
$strSQL .= " AND (Tools_Product_name LIKE '%".$_POST["txt_search1"]."%') ";
}
ลองแบบนี้ดูนะครับ
Date :
2012-01-04 16:32:11
By :
nattapol.siri
Code (PHP)
<?
$txt_search1 = $_POST['txt_search1'];
$txt_search2 = $_POST['txt_search2'];
if($txt_search1!='' and $txt_search2!=''){
$sql_show="select * from files where Tools_Product_name like '%$txt_search1%' and Tools_Brand like '$txt_search2'";
} else if($_POST[' ชื่อตัวแปรในหน้าแรก ']==''){
$sql_show="select * from files;
}
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show)){
?>
ถ้าคราวนี้ยังไม่ได้อีก ก็ไม่รู้จะทำไงแล้ว
Date :
2012-01-04 19:38:07
By :
บังเอิญผ่านมาเห็น
ได้แล้วค่ะขอบคุณจริงๆๆนะค่ะ.....
ทุกท่านเลยที่เข้ามาช่วยน้องนะ
ประวัติการแก้ไข 2012-01-05 13:10:49
Date :
2012-01-05 13:10:20
By :
nongking1
Load balance : Server 00