มีปัญหาการค้นหาแบบมีเงื่อนไข+การแบ่งหน้า คือเวลาเราค้นหาแบบใช้เงื่อนไขของ Radio button พอค้นหา
<html>
<body bgcolor="#FFFFFF">
<form name="form1" method="post" action="sample1.php">
ชื่อที่ต้องการค้นหา
<input type="text" name="keyword" value="<? echo"$keyword"; ?>">
<input type="radio" name="fields" value="name" checked>ชื่อ
<input type="radio" name="fields" value="surname" checked>นามสกุล
<input type="submit" name="Submit" value="ค้นหา">
</form>
<hr>
<?
if (empty($keyword) or empty($fields))
{
echo"กรุณาเลือกรายการค้นหา ด้วยครับ";
exit();
}
else
{
$fields = $_POST['fields'];
$host="localhost";
$username="";
$password="";
$db="customer";
$tb="Cus_tomer";
mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); /* ทำการเลือกฐานข้อมูลก่อน */
$sql="SELECT * FROM $tb where $fields like '%$keyword%'";
/* ตั้งค่า แสดงผลต่อหน้า $Per_Page */
$Per_Page =10; // แสดงหน้าละ 3
if(!$Page)
$Page=1;
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$result = mysql_query($sql);
$Page_start = ($Per_Page*$Page)-$Per_Page;
$Num_Rows = mysql_num_rows($result);
if($Num_Rows<=$Per_Page)
$Num_Pages =1;
else if(($Num_Rows % $Per_Page)==0)
$Num_Pages =($Num_Rows/$Per_Page) ;
else
$Num_Pages =($Num_Rows/$Per_Page) +1;
$Num_Pages = (int)$Num_Pages;
if(($Page>$Num_Pages) || ($Page<0))
print "<center><b>จำนวน $Page มากกว่า $Num_Pages ยังไม่มีข้อความ<b></center>";
$Page_start , $Per_Page";
$sql = "select * From $tb where $fields like '%$keyword%' order by id asc LIMIT $Page_start , $Per_Page";
//ส่วนแสดงผล
$result = mysql_query($sql);
$db_query=mysql_db_query($db,$sql);
$num_rows=mysql_num_rows($db_query); /* นับ Reccord ที่พบ */
if(empty($num_rows)) /* ตรวจสอบว่ามีอยู่หรือยัง */
{
echo"<center><br>ไม่พบข้อมูล <b>$keyword</b> จาก Filed <b>$fields <b> </center>";
exit();
}
else
{
?>
<div align="center"><? echo " แสดงรายการค้นหา <b>$keyword</b> จาก Field <b>$fields</b> พบ <b>$num_rows</b> Reccord "; ?><br><br>
</div>
<table width="91%" border="1" align="center">
<tr>
<td width="8%">
<div align="center">Id</div>
</td>
<td width="12%">
<div align="center">name</div>
</td>
<td width="11%">
<div align="center">Surname</div>
</td>
</tr>
</table>
<?
$a=0;
while($a < $num_rows)
{
$result = mysql_fetch_array($db_query);
$id=$result[id];
$name=$result[name];
$surname=$result[surname];
?>
<table width="91%" border="1" align="center">
<tr>
<td width="8%">
<div align="center"><?echo"$id";?></div>
</td>
<td width="12%">
<?echo"$name";?>
</td>
<td width="11%">
<?echo"$surname";?>
</td>
</tr>
</table>
<?
$a++;
}
}
}
?>
<br><center>
พบทั้งหมด<b>
<?= $Num_Rows;?>
</b> รายการ รวมทั้งหมด : <b>
<?=$Num_Pages;?>
</b> หน้า :
<?/* สร้างปุ่มย้อนกลับ */
if($Prev_Page)
echo " <a href='$PHP_SELF?Page=$Prev_Page&keyword=$keyword'><< ย้อนกลับ </a>";
for($i=1; $i<$Num_Pages; $i++){
if($i != $Page)
echo "[<a href='$PHP_SELF?Page=$i&keyword=$keyword'>$i</a>]";
else
echo "<b> $i </b>";
}
/*สร้างปุ่มเดินหน้า */
if($Page!=$Num_Pages)
echo "<a href ='$PHP_SELF?Page=$Next_Page&keyword=$keyword'> หน้าถัดไป>> </a></center>";
?>
</body>
</html>
********************************
โค๊ดประมาณนี้ค่ะ....
Date :
29 มิ.ย. 2551 18:19:40
By :
ying
????? No answer
Date :
12 ก.ค. 2551 02:17:49
By :
ying
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="599" border="1">
<tr>
<th>Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?
if($_GET["txtKeyword"] != "")
{
$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 (Name LIKE '%".$_GET["txtKeyword"]."%' or Email LIKE '%".$_GET["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 :
2009-09-19 22:25:55
By :
webmaster
ตอนแบ่งหน้า ให้กำหนด เงื่อนไขให้ด้วยครับ ตอนกด ลิ้ง ไปหน้าต่อๆไปอะครับ
Date :
2011-05-24 22:16:53
By :
slurpee55555
Load balance : Server 01