ช่วยตอบด้วยเถอะค่ะ ด่วนมาก ๆ...การ searchc แบบ 3 เงื่อนไข
ทำไงค่ะ ทำการค้นหาข้อมูล อาจารย์ให้ทำ 3 เงื่อนไข โดยที่ทำจะมีให้เลือกประเภท-หมวดหมู่-และช่วงราคา ค่ะ คือว่ามันต้องมีการใช้คำสั้ง if...else...ตรงที่คำสั่ง MySQL ใช้มั้ยค่ะ คือใช้ฐานข้อมูลใน PHP MyAdmin ค่ะ
ช่วยตอบด้วยนะค่ะ ส่งวัน จันทร์ที่24 ก.ย. 50 นี้แล้วค่ะ ตอบมาทางอีเมล์ก็ได้ค่ะ
--- > [email protected]
นี่ code ทำทำค้างไว้ค่ะ
#FormSearchB.php#
<HEAD>
<TITLE>Web Book Shop\Search</TITLE>
</HEAD>
<BODY>
<h1> : : Web Book Shop : :</h1><br>
<form action="SearchBook.php" method="POST">
<table width="450" border="0" cellpadding="1" cellspacing="1" bgcolor = skyblue>
<tr>
<td colspan = "3" bgcolor="pink"> <b> ค้นหาหนังสือ : </b></td>
</tr>
<tr><td> </td></tr>
<tr>
<td >ประเภท</td>
<td >
<select name="typePro">
<option value="All TypeProduct">---ทุกประเภท---</option>
<option value="Book">หนังสือ</option>
<option value="Magazine">นิตยสาร</option>
</select></tr>
<tr>
<td >หมวด</td>
<td >
<select name="category">
<option value="All Category">---ทุกหมวด--</option>
<option value=" ">----#หนังสือ#---</option>
<option value="Shot Story">เรื่องสั้น</option>
<option value="Politics">การเมือง</option>
<option value="Business">บริหารธุรกิจ</option>
<option value="Computer And Technology">คอมพิวเตอร์และเทคโนโลยี</option>
<option value="Novel">นวนิยาย/นวนิยายแปล</option>
<option value="Writing">วรรณกรรม</option>
<option value="Travel">ท่องเที่ยว</option>
<option value="Cook Book">ทำอาหาร/ขนม</option>
<option value="Child Book">หนังสือเด็กอนุบาล</option>
<option value=" ">----#นิตยสาร#---</option>
<option value="Woman">ผู้หญิง</option>
<option value="Man">ผู้ชาย</option>
<option value="Entertainment">บันเทิง</option>
<option value="Technology">เทคโนโลยี</option>
<option value="Computer">คอมพิวเตอร์</option>
<option value="Car">รถยนต์</option>
<option value="Parent">ครอบครัว</option>
<option value="Health">สุขภาพ</option>
<option value="Travel">ท่องเที่ยว</option>
</select></tr>
<tr>
<td >ช่วงราคา</td>
<td >
<select name="price">
<option value="All Price">--ทุกช่วงราคา--</option>
<option value="price =< 100">น้อยกว่า 100 บาท</option>
<option value="101 =< price >= 200">101 - 200 บาท</option>
<option value="201 =< price >= 300">201 - 300 บาท</option>
<option value="301 =< price >= 400">301 - 400 บาท</option>
<option value="401 =< price >= 500">401 - 500 บาท</option>
<option value=" price >= 500">มากกว่า 500</option>
</select></tr>
<tr>
<td> </td><td> </td>
<td> <input type = "submit" value = "SEARCH "> </td>
</tr>
</table>
</form>
</BODY>
</html>
#SearchBook.php#
<HTML>
<HEAD>
<TITLE> Web Book Shop\Report</TITLE>
</HEAD>
<BODY>
<?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$host="localhost";
$user="root";
$pw="1234";
$dbname="db_dss";
$tbname="tb_books";
//เริ่มติดต่อฐานข้อมูล
mysql_connect ($host, $user, $pw) or die ("ติดต่อฐานข้อมูลไม่ได้");
//เลือกฐานข้อมูล
mysql_select_db ($dbname) or die ("ติดต่อฐานข้อมูลไม่ได้");
//ทำให้อ่านภาษาไทยได้
$cs1 = "SET character_set_results=tis620";
mysql_query($cs1) or die('Error query: ' . mysql_error());
$cs2 = "SET character_set_client = tis620";
mysql_query($cs2) or die('Error query: ' . mysql_error());
$cs3 = "SET character_set_connection = tis620";
mysql_query($cs3) or die('Error query: ' . mysql_error());
//คำสั่ง SQL และสั่งให้ทำงาน
//$sql = "select * from tb_books where typePro = '$typePro'";
//$sql = "select * from tb_books where category = '$category'";
//$sql = "select * from tb_books where price = '$price'";
$dbquery = mysql_db_query($dbname,$sql);
//หาจำนวนเรกคอร์ดข้อมูลในตาราง
$num_rows=mysql_num_rows($dbquery);
//หาจำนวนฟิลด์ในตาราง
$num_fields=mysql_num_fields($dbquery);
echo "<font color = blue>แสดงผลการค้นหาข้อมูล </font><Hr>";
echo "<font color = red>".$field_search." </font> ";
//เพิ่มส่วนหัวตาราง
echo "<table width=1200 border=1 cellspacing=0 cellpadding=1><tr><td colspan=8 bgcolor=orange><div align=center><font color = blue size = 5>Information</font></div></td> </tr><tr align=center><td width=110 bgcolor=orange><div align=center class=style2>Photo</div></td><td width=70 bgcolor=orange><div align=center class=style2>รหัสสินค้า</div></td><td width=90 bgcolor=orange><div align=center class=style2>ประเภทสินค้า </div></td><td width=200 bgcolor=orange><div align=center class=style2>หมวดสินค้า</div></td><td width=330 bgcolor=orange><div align=center class=style2>ชื่อสินค้า</div></td><td width=150 bgcolor=orange><div align=center class=style2>ผู้เขียน/แปล</div></td><td width=100 bgcolor=orange><div align=center class=style2>สำนักพิมพ์ </div></td><td width=50 bgcolor=orange><div align=center class=style2>ราคา</div></td></tr>";
//เริ่มวนรอบแสดงข้อมูล
$i=0;
while ($i < $num_rows){
$result = mysql_fetch_array($dbquery);
$photo = $result[photo];
$isbn = $result[isbn];
$typePro = $result[typePro];
$category = $result[category];
$title = $result[title];
$author = $result[author];
$office = $result[office];
$price = $result[price];
echo"<tr><td>$photo</td><td>$isbn</td><td>$typePro</td><td>$category</td><td>$title</td><td>$author</td><td>$office</td><td>$price</td>";
$i++;
}
echo "</table>";
echo "<br> ค้นพบ <font color = red>".$i."เรกคอร์";
//ปิดการติดต่อฐานข้อมูล
mysql_close();
echo "<br> <br><a href =FormSearchB.php> กลับไปค้นหาใหม่</A>";
echo "<br><br><a href =WebBooks.php> กลับหน้าหลัก </A>";
?>
</BODY>
</HTML>
CREATE TABLE `tb_books` (
`isbn` varchar(10) NOT NULL default '',
`typePro` varchar(20) NOT NULL default '',
`category` varchar(100) NOT NULL default '',
`photo` varchar(70) NOT NULL default '',
`title` varchar(100) NOT NULL default '',
`author` varchar(50) NOT NULL default '',
`office` varchar(50) NOT NULL default '',
`price` int(7) NOT NULL default '0',
PRIMARY KEY (`isbn`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620;
มันมี Error แบบนี้อ่ะค่ะ
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\SearchBook.php on line 41
Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\SearchBook.php on line 44
โดย ที่ บรรทัด ที่ 41 กับ 42
$num_rows=mysql_num_rows($dbquery);
$num_fields=mysql_num_fields($dbquery);
Tag : - - - -
Date :
21 ก.ย. 2550 15:23:24
By :
majung
View :
1490
Reply :
3
คือว่าถ้า remark สั่ง $sql เอาไว้มันก็ warning ซิ้ครับ เพรามันหาคำสั่ง sql ไม่เจออ่ะ หรือถ้าเอา remark ออก แล้ว ยัง warning อยู่ก็ให้ echo $sql ออกมาดูครับ แล้ว copy ไปวางไว้ใน phpmyadmin ให้มัน run ให้ครับ จะได้รู้ว่าผิดตรงไหน จาก error มันน่าจะเป็นเพราะว่า คำสั่ง sql ผิดนะครับ ลองดูละกาน
Date :
21 ก.ย. 2550 16:14:58
By :
eee
ใจเย็นๆๆ ทำเป็นสเตบไป if($selectp=='00'){
$product1= "items.items_id";
$sql="select * from items where items.items_id=".mySQLSafe($txtporduct)."and
$product1 like '$txtporduct%' and memid='$userid'";
}
elseif($selectp=='01')
{
//$product1= "items.items_name";
$sql="select * from items where items_name like '%$txtporduct' and memid='$userid'";
}
เพิ่มเองอีกเงื่อนไข เน่อ
Date :
21 ก.ย. 2550 16:37:03
By :
คนเหนือเจ้า
จากความคืดเห็นที่ 2 นะค่ะ...งง...ค่ะ...คือกำหนดตัวแปรขึ้นมาใหม่หรอค่ะ...
ส่วนความคิดเห็นที่ 1 ...ก็.งง...ค่ะ..มันจะ copy ไปวางไว้ใน phpmyadmin ให้มัน run ยังงัยอ่ะค่ะ....
ขอบคุณค่ะ
Date :
22 ก.ย. 2550 12:55:01
By :
majung
Load balance : Server 02