|
|
|
ช่วยด้วยค่ะ code ค้นหา+แบ่งหน้า ไม่ยอมทำงานร่วมกัน |
|
|
|
|
|
|
|
ค้นหาใช้ได้ปกติ
แถมแบ่งหน้าก็ไม่ได้ด้วย ค้นหาเจอ 2 ดันแบ่งไป 2 หน้า (จำกัด หน้าละ 2บรรดทัด)
กดไปหน้า 2 ก็ขึ้น echo"กรุณาเลือกรายการค้นหา";
ช่วยดูให้หน่อยค่ะ ขอบคุณค่ะ
Code (PHP)
<?php
session_start() ;
if(!session_is_registered("login_true_admin")) {
echo "<meta http-equiv='refresh' content='0;url=../admin/login.php'>" ;
exit() ;
}
?>
<head>
<title>ระบบคลินิกทันตกรรม</title>
<style type="text/css">
<!--
BODY {font-family:;font-size="10"}
A:link {text-decoration: none; color: blue }
A:visited {text-decoration: none; color: blue }
A:hover {text-decoration: none; color: darkorange }
A:active {text-decoration: none; color: blue }
p, div, td, ul li, ol li { font-family: MS Sans Serif, Microsoft Sans Serif; font-size: 10pt }
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<a href="../admin/register_dc.php"><IMG SRC="../img/1.gif"BORDER="0">
<a href="../admin/register_as.php"><IMG SRC="../img/2.gif"BORDER="0">
<a href="../admin/register_pt.php"><IMG SRC="../img/3.gif"BORDER="0">
<a href="../admin/manage_dc.php"><IMG SRC="../img/4.gif"BORDER="0">
<a href="../admin/manage_as.php"><IMG SRC="../img/5.gif"BORDER="0">
<a href="../admin/manage_pt.php"><IMG SRC="../img/6.gif"BORDER="0">
</a>
<body bgcolor=#FFFFFF>
<tr>
<p> </p>
<form name="form1" method="post" action="../find/admin_find_dc.php">
ต้องการค้นหา
<input type="text" name="keyword" value="<? echo"$keyword"; ?>">
จาก
<select name="fields">
<option value="user_code">รหัสทันตแพทย์</option>
<option value="user_name">ชื่อ</option>
<option value="user_sname">นามสกุล</option>
<option value="user_day">วันเกิด</option>
<option value="user_mon">เดือนเกิด</option>
<option value="user_year">ปีเกิด</option>
<option value="user_sex">เพศ</option>
<option value="user_address">ที่อยู่</option>
<option value="user_call">โทรศัพย์</option>
<option value="user_call2">มือถือ</option>
</select>
<input type="submit" name="Submit" value="ค้นหา">
</form>
<hr>
<?
mysql_connect('localhost','root','1234'); // connect mysql
mysql_select_db('fun'); // select database
mysql_query("SET NAMES 'tis620'");
if(!isset($start)){
$start = 0;
}
$limit = '2'; // แสดงผลหน้าละกี่หัวข้อ
$Qtotal = mysql_query("select * from tb_user where user_status = 'dc'"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal); // หาจำนวน record
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("fun");
$strSQL = "SELECT * FROM tb_user where user_status = 'dc' ORDER BY user_code DESC LIMIT $start,$limit ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$totalp = mysql_num_rows($objQuery); // หาจำนวน record ที่เรียกออกมา
?>
<?
if (empty($keyword) or empty($fields))
{
echo"กรุณาเลือกรายการค้นหา";
exit();
}
else
{
$host="localhost";
$username="root";
$password="1234";
$db="fun";
$tb="tb_user";
mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); /* ทำการเลือกฐานข้อมูลก่อน */
$sql="SELECT * FROM $tb where user_status = 'dc' and $fields like '%$keyword%' ";
$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></center>";
exit();
}
else
{
?>
<div align="center"><? echo " แสดงรายการค้นหา <b>$keyword</b> พบ <b>$num_rows</b> ค้นหา "; ?><br><br>
</div>
<table width="900" border="1" align="center">
<tr bgcolor="#CCCCCC">
<th width="150"> <div align="center">รหัสทันตแพยท์</div></th>
<th width="200"> <div align="center"> ชื่อ</div></th>
<th width="200"> <div align="center"> นามสกุล </div></th>
<th width="150"> <div align="center">รายละเอียดข้อมูล</div></th>
<th width="150"> <div align="center">แก้ไข</div></th>
<th width="150"> <div align="center"> ลบ</div></th>
</tr>
<?
while($objResult = mysql_fetch_array($db_query))
{
?>
<tr>
<td><div align="center"><?=$objResult["user_code"];?></div></td>
<td><center><?=$objResult["user_name"];?></a></center></td>
<td><center><?=$objResult["user_sname"];?></a></center></td>
<td><center><A HREF="../admin/view_dc.php?user_id=<?=$objResult["user_id"];?>">รายละเอียดข้อมูล</a></center></td>
<td><center><A HREF="../admin/edit_dc.php?user_id=<?=$objResult["user_id"];?>">แก้ไข</a></center></td>
<td><center><A HREF="../admin/del_dc.php?user_id=<?=$objResult["user_id"];?>">ลบ</a></center></td>
<?
}
$page = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า
/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$page;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้
echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1
}else{
echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2
}
}
}
}
?>
</body>
</html>
Tag : - - - -
|
|
|
|
|
|
Date :
2010-02-13 02:25:16 |
By :
Ninezy |
View :
2248 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอาไปใช้ดูนะครับ
Code (PHP)
function LinkPage($totalRows , $rowsPerPage , $nowPage , $link)
{
$totalPage = ceil($totalRows/$rowsPerPage);
if ($nowPage != 1)
echo ' <a href="'. $link .'&page='. ($nowPage - 1) . '"><</a> | ';
else
echo ' < | ';
for ($i=0;$i<$totalPage;$i++)
{
if ($i>0)
echo ' | ';
if (($i+1) != $nowPage)
echo '<a href="'. $link .'&page=' . ($i+1) . '">'. ($i+1) . '</a>';
else
echo ($i+1);
}
if ($nowPage != $totalPage)
echo ' | <a href="'. $link .'&page='. ($nowPage + 1) . '">'. '>' . '</a> ';
else
echo ' | > ';
}
2. ก๊อปโคดไปใส่ไว้ในส่วนบนของเว็บ
$rowsPerPage = 20; // จำนวนที่จะให้แสดงใน 1 หน้า
$nowPage = $page;
if ($nowPage == '')
$nowPage = 1;
$limit = (($page - 1) * $limitPerPage) . ','.$limitPerPage;
3. เพิ่มคำสั่งไว้ในคำสั่ง SELECT ปรกติที่มีอยู่แล้ว
SQL_CALC_FOUND_ROWS *
เช่น ปรกติเป็น
$sql = 'SELECT * FROM table WHERE ab=c AND dd=3 ORDER BY aa';
ให้แก้เป็น
$sql = 'SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE ab=c';
หรือ $sql = 'SELECT field1 , field2 FROM table WHERE ab=c AND dd=3 ORDER BY aa';
ให้แก้เป็น $sql = 'SELECT SQL_CALC_FOUND_ROWS * , field1 , field2 FROM table WHERE ab=c AND dd=3 ORDER BY aa';
4. เพิ่มคำสั่ง limit ลงไปใน sql ปรกติ
' LIMIT '.$limit เช่นปรกติเป็น
$sql = 'SELECT * FROM table WHERE ab=c AND dd=3 ORDER BY aa';
ให้แก้เป็น
$sql = 'SELECT * FROM table WHERE ab=c AND dd=3 ORDER BY aa LIMIT'.$limit;
หรือใส่คำว่าหาคำสั่ง sql ทั้งหมดอยู่ในตัวแปร sql แล้ว
$sql .= ' LIMIT '.$limit;
5. เพิ่มคำสั่ง หลังจากที่มีการ query ข้อมูลตามปรกติแล้ว
$c_res = mysql_query('SELECT FOUND_ROWS()');
$row = mysql_fetch_array($c_res);
$totalRows = $row[0];
เช่นปรกติเป็น
$result = mysql_query($sql);
while ($data = mysql_fetch_array($result)) {
แก้เป็น
$result = mysql_query($sql);
$c_res = mysql_query('SELECT FOUND_ROWS()');
$row = mysql_fetch_array($c_res);
$totalRows = $row[0];
while ($data = mysql_fetch_array($result)) {
6. สร้างตัวแปร link คือถ้ามีการกดลิ่งไปหน้าที่ 2-3 จะให้ส่งค่าอะไรไปด้วยบ้าง เช่น
$link = 'show.php?cat=game&order=byname&stattus=1';
(ไม่ต้องระบุ page เดี๋ยว function จะใส่ให้เอง)
7.ใส่คำสั่ง LinkPage ไว้ในบริเวณที่ต้องการให้แสดงตัวแบ่งหน้า
LinkPage($totalRows , $rowsPerPage , $nowPage , $link);
|
|
|
|
|
Date :
2010-02-13 10:29:30 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วค่ะ ขอบคุณที่เข้ามาดูค่ะ
|
|
|
|
|
Date :
2010-02-13 11:05:25 |
By :
Ninezy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|