Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ปัญหา Search และ แบ่งหน้าแสดงผลครับ รบกวนทีครับ ขอบคุณครับ



 

ปัญหา Search และ แบ่งหน้าแสดงผลครับ รบกวนทีครับ ขอบคุณครับ

 



Topic : 026851



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์




ขอรบกวนพี่ๆหรือผู้รู้ด้วยครับ

ที่ผมจะทำคือ add edit deleate search และ แบ่งหน้าแสดงผลครับ

มันมีปัญหาตอนกดปุ่ม ตัวเลขที่แบ่งหน้าครับ

ถ้าไม่กด ค้นหา สามารถดูการแบ่งหน้าได้ ปกติ

แต่ถ้ากดค้น หา ก็มีการแสดง table แบบแบ่งหน้าขึ้นมาตอนนี้ยังปกติ
แต่ พอกดลิ้ง ตัวเลขด้านล่าง เพื่อไปหน้าแบ่ง ที่ 2 3 หรืออื่นๆ
พอกดแล้ว มัน แสดงค่า ทั้งหมดใน table ออกมาครับ ไม่ใช่ค่าที่ค้นหา

รูปที่ search หาข้อมูล ที่มี อักษร a มี 9 เรคคอร์ด 2หน้า ยังไม่มีปัญหา ครับ


พอกดเลข 2 เพื่อเปลี่ยนหน้า ด้านล้าง เย้ย ทำไมมี 13 เรคคอร์ด 3 หน้า ง่ะ เนี่ยแหละครับ(จำนวน เรคคอร์ด เท่ากับ จำนวนข้อมูลใน ฐานข้อมูล ทั้งหมด ไม่ว่าจะ มี a หรือไม่มี อ่ะครับ)

ตอนยังไม่กดมันก็แสดงปกติครับ
code บริเวณลิ้ง
Code (PHP)
<?php
/* สร้างปุ่มย้อนกลับ */
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page\">&lt;&lt; Back </a>";
/* สร้างตัวเลขหน้า */
for ( $i=1; $i<=$Num_Pages; $i++ )
{
if ( $i != $Page )
echo "[<a href=\"$PHP_SELF?Page=$i\">$i</a>]";
else
echo " <b>$i</b> ";
}

/* สร้างปุ่มเดินหน้า */
if ( $Page != $Num_Pages )
echo "<a href=\"$PHP_SELF?Page=$Next_Page\"> Next &gt;&gt;</a>";

?>

อันนี้โค้ดทั้งหมดครับ
Code (PHP)
<html>
<?
$host = "localhost" ; //
$username = "root" ; // Username ในการเชื่อมต่อกับฐานข้อมูล
$password = "root" ; // Password ในการเชื่อมต่อกับฐานข้อมูล
$db = "accidentreport" ; // ชื่อฐานข้อมูลที่สร้างไว้ accidentreport

///////////////////////////////////////////////
//ด้านล่าง คือรูปแบบคำสั่งในการเชื่อมต่อฐานข้อมูล และทำให้สามารถแสดงตัวอักษรภาษาไทยได้
$connect = mysql_connect($host,$username,$password)
or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db,$connect)
or die("เลือกฐานข้อมูลไม่ได้");
mysql_db_query($db,"SET NAMES utf-8");

/////////////////////////Page Search////////////////////////
$search_table="member";//ตัวแปร Table ไว้สำหรับใช้ Search (สืบค้น) ข้อมูล
$field_search="name";//ใช้ กำหนด ขอบเขต หรือ พื้นที่ๆต้องการค้นหา?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<title>:: Script การติดต่อฐานข้อมูล เพื่อ เพิ่ม/ลบ/แก้ไข/ค้นคืน ข้อมูล ::</title>
<style>
BODY {
FONT-FAMILY: Arial, Helvetica, sans-serif
}
</style>
<script Language="Javascript">
<!--
function Conf(object) {
if (confirm("โปรดยืนยันการลบ ?") == true) {
return true;
}
return false;
}
//-->
</script>
</head>

<body>
<form name="form1" method="POST" action="showdata.php">
<p align="center">
<font size="3">&lt;&lt;
<a href="index.htm">หน้าหลัก</a> &gt;&gt;
<font size="3">&lt;&lt;
<a href="showdata.php">เรียกดูข้อมูลในฐานข้อมูล</a> &gt;&gt;
&lt;&lt; <a href="adddata.php">เพิ่มข้อมูลลงฐานข้อมูล</a> &gt;&gt;</font></p>
<p align="center"><u><b><font size="5" color="#800000">
แสดงข้อมูลในฐานข้อมูล</font></b></u></p>
<br>
ค้นหาข้อมูล
<input type="text" name="search">
<input type="submit" name="Submit" value="ค้นหา">
<br><br>


<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="5%" bgcolor="#CCFFFF" align="center">
<b><font color="#000080">ID</font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">ชื่อ </font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">นามสกุล</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">แก้ไข</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">ลบ</font></b></td>
</tr>


<?php
// คำสั่ง SQL ที่ใช้ในการเลือกข้อมูลที่อยู่ในฐานข้อมูลกลับมา (เรียงตามลำดับ ID)
$result = mysql_query("select * from member order by id");

/* ในลูปด้านล่าง เทียบได้กับการดึงข้อมูลมาทีละ 1 Record เพื่อนำมาแสดงผลทางหน้าจอ */
while($dbarr = mysql_fetch_array($result)) {

$strSQL = "SELECT * FROM member WHERE name LIKE '%$search%' ";

//$result =mysql_query($strSQL);
//$num = mysql_rows($result);
//$strSQL = "SELECT * FROM member";

$Per_Page = 5;

if ( !$Page )
$Page = 1;

$Prev_Page = $Page - 1;
$Next_Page = $Page + 1;

$result = mysql_query( $strSQL );

$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 "จำนวน $Page มากกว่า $Num_Pages";

$strSQL .= " LIMIT $Page_start, $Per_Page";

$result = mysql_query( $strSQL );

$sql = "select * from member where $field_search like '%$search%'"; // sql search
$dbquery = mysql_db_query($db, $sql);
/* $num_rows = mysql_num_rows($dbquery);*/


while ( $rs = mysql_fetch_array( $result ) )
{
if($i < $num_rows){
$dbarr = mysql_fetch_array($dbquery); //ส่วนของการเรียกแสดงข้อมูลทั้งหมด และข้อมูลที่ค้นหา
}
if($bg == "#e9feff") { //ส่วนของการ สลับสี
$bg = "#CCFFFF";
} else {
$bg = "#e9feff";
}
?>

<tr bgcolor="<?=$bg?>">
<td width="5%" align="center"><?php echo $rs['id'] ; ?></td>
<td width="20%" align="center"><?php echo $rs['name'] ; ?></td>
<td width="10%" align="center"><?php echo $rs['surname'] ; ?></td>
<td width="5%" align="center"><center><a href="editdata.php?id=<?=$rs['id'];?>"><img src="edit.gif" width="15" height="15" border="0"></a></center></td>
<td width="5%" align="center"><center><a href="deletedata.php?id=<?=$rs['id'];?>" OnClick="return Conf(this)"><img src="delete.jpg" width="15" height="15" border="0"></a></center></td>
</tr>

<?php
}
$i++;
}
?>

</table>
<br><br>


<br>


<p class="Small">

<br><br>
<p class="Small">
รวมทั้งหมด <b><?php echo $Num_Rows; ?></b> เรคคอร์ด <b><?php echo $Num_Pages; ?></b> หน้า:

<?php
/* สร้างปุ่มย้อนกลับ */
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page\">&lt;&lt; Back </a>";
/* สร้างตัวเลขหน้า */
for ( $i=1; $i<=$Num_Pages; $i++ )
{
if ( $i != $Page )
echo "[<a href=\"$PHP_SELF?Page=$i\">$i</a>]";
else
echo " <b>$i</b> ";
}

/* สร้างปุ่มเดินหน้า */
if ( $Page != $Num_Pages )
echo "<a href=\"$PHP_SELF?Page=$Next_Page\"> Next &gt;&gt;</a>";

?>
</center>
</form>
</body>

</html>




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-04-30 15:47:47 By : numarumay View : 2970 Reply : 9
 

 

No. 1



โพสกระทู้ ( 230 )
บทความ ( 0 )



สถานะออฟไลน์


ปัญหาของคุณเหมือนกับผม เมื่อสักเดือนที่แล้ว ผมก็ได้ตั้งกระทู้ถามเหมือนกัน
แต่ได้แก้ปัญหาแล้ว เย็น ๆ จะหาโปรแกรมและส่งโค๊ดไปให้นะครับ แต่ไม่รับรองว่ามันจะตรงกับความต้องการของคุณหรือไม่ ??? (ตอนนี้งานเร่งอยู่)






Date : 2009-04-30 16:06:14 By : pukmtec
 


 

No. 2



โพสกระทู้ ( 230 )
บทความ ( 0 )



สถานะออฟไลน์


ลองเข้าไปดูตัวอย่างที่ผมได้เขียนไว้ คุณต้องการแบบนี้หรือป่าว จะได้ส่งโค๊ดตัวอย่างไปให้นะครับ

http://sardonyx.mtec.or.th:81/sakmongp/website/testPHP/testSearchpPage.php
Date : 2009-04-30 16:42:21 By : pukmtec
 

 

No. 3



โพสกระทู้ ( 1,008 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

<html>
<?
$host = "localhost" ; // 
$username = "root" ; // Username ในการเชื่อมต่อกับฐานข้อมูล 
$password = "root" ; // Password ในการเชื่อมต่อกับฐานข้อมูล 
$db = "accidentreport" ; // ชื่อฐานข้อมูลที่สร้างไว้ accidentreport

///////////////////////////////////////////////
//ด้านล่าง คือรูปแบบคำสั่งในการเชื่อมต่อฐานข้อมูล และทำให้สามารถแสดงตัวอักษรภาษาไทยได้ 
$connect = mysql_connect($host,$username,$password) 
or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db,$connect) 
or die("เลือกฐานข้อมูลไม่ได้");
mysql_db_query($db,"SET NAMES utf-8");

/////////////////////////Page Search////////////////////////
$search_table="member";//ตัวแปร Table ไว้สำหรับใช้ Search (สืบค้น) ข้อมูล
$field_search="name";//ใช้ กำหนด ขอบเขต หรือ พื้นที่ๆต้องการค้นหา?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<title>:: Script การติดต่อฐานข้อมูล เพื่อ เพิ่ม/ลบ/แก้ไข/ค้นคืน ข้อมูล ::</title>
<style>
BODY {
FONT-FAMILY: Arial, Helvetica, sans-serif
}
</style>
<script Language="Javascript">
<!--
function Conf(object) {
if (confirm("โปรดยืนยันการลบ ?") == true) {
return true;
}
return false;
}
//-->
</script>
</head>

<body>
<form name="form1" method="POST" action="showdata.php">
<p align="center">
<font size="3">&lt;&lt; 
<a href="index.htm">หน้าหลัก</a> &gt;&gt;
<font size="3">&lt;&lt; 
<a href="showdata.php">เรียกดูข้อมูลในฐานข้อมูล</a> &gt;&gt;
&lt;&lt; <a href="adddata.php">เพิ่มข้อมูลลงฐานข้อมูล</a> &gt;&gt;</font></p>
<p align="center"><u><b><font size="5" color="#800000">
แสดงข้อมูลในฐานข้อมูล</font></b></u></p>
<br> 
ค้นหาข้อมูล
<input type="text" name="search">
<input type="submit" name="Submit" value="ค้นหา">
<br><br>


<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="5%" bgcolor="#CCFFFF" align="center">
<b><font color="#000080">ID</font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">ชื่อ </font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">นามสกุล</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">แก้ไข</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">ลบ</font></b></td>
</tr>


<?php
// คำสั่ง SQL ที่ใช้ในการเลือกข้อมูลที่อยู่ในฐานข้อมูลกลับมา (เรียงตามลำดับ ID)
$result = mysql_query("select * from member order by id");

/* ในลูปด้านล่าง เทียบได้กับการดึงข้อมูลมาทีละ 1 Record เพื่อนำมาแสดงผลทางหน้าจอ */
while($dbarr = mysql_fetch_array($result)) {

$strSQL = "SELECT * FROM member WHERE name LIKE '%$search%' ";

//$result =mysql_query($strSQL); 
//$num = mysql_rows($result);
//$strSQL = "SELECT * FROM member";

$Per_Page = 5;

if ( !$Page ) 
$Page = 1; 

$Prev_Page = $Page - 1; 
$Next_Page = $Page + 1; 

$result = mysql_query( $strSQL ); 

$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 "จำนวน $Page มากกว่า $Num_Pages";

$strSQL .= " LIMIT $Page_start, $Per_Page"; 

$result = mysql_query( $strSQL ); 

$sql = "select * from member where $field_search like '%$search%'"; // sql search
$dbquery = mysql_db_query($db, $sql);
/* $num_rows = mysql_num_rows($dbquery);*/


while ( $rs = mysql_fetch_array( $result ) ) 
{ 
if($i < $num_rows){
$dbarr = mysql_fetch_array($dbquery); //ส่วนของการเรียกแสดงข้อมูลทั้งหมด และข้อมูลที่ค้นหา
}
if($bg == "#e9feff") { //ส่วนของการ สลับสี 
$bg = "#CCFFFF";
} else {
$bg = "#e9feff";
}
?>

<tr bgcolor="<?=$bg?>">
<td width="5%" align="center"><?php echo $rs['id'] ; ?></td>
<td width="20%" align="center"><?php echo $rs['name'] ; ?></td>
<td width="10%" align="center"><?php echo $rs['surname'] ; ?></td>
<td width="5%" align="center"><center><a href="editdata.php?id=<?=$rs['id'];?>"><img src="edit.gif" width="15" height="15" border="0"></a></center></td>
<td width="5%" align="center"><center><a href="deletedata.php?id=<?=$rs['id'];?>" OnClick="return Conf(this)"><img src="delete.jpg" width="15" height="15" border="0"></a></center></td>
</tr>

<?php
}
$i++;
}
?>

</table>
<br><br>


<br>


<p class="Small">

<br><br>
<p class="Small">
รวมทั้งหมด <b><?php echo $Num_Rows; ?></b> เรคคอร์ด <b><?php echo $Num_Pages; ?></b> หน้า: 

<?php
/* สร้างปุ่มย้อนกลับ */
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page&&search=$search\">&lt;&lt; Back </a>"; 
/* สร้างตัวเลขหน้า */
for ( $i=1; $i<=$Num_Pages; $i++ ) 
{ 
if ( $i != $Page ) 
echo "[<a href=\"$PHP_SELF?Page=$i&&search=$search\">$i</a>]";
else 
echo " <b>$i</b> "; 
}

/* สร้างปุ่มเดินหน้า */
if ( $Page != $Num_Pages ) 
echo "<a href=\"$PHP_SELF?Page=$Next_Page&&search=$search\"> Next &gt;&gt;</a>"; 

?>
</center>
</form>
</body>

</html> 


ลองดูครับ
ไม่ยากครับ แค่ส่งค่าที่ค้นหาไปกับลิ้งด้วย แบบนี้ครับ $search
echo "<a href=\"$PHP_SELF?Page=$Prev_Page&&search=$search\">&lt;&lt; Back </a>";
echo "[<a href=\"$PHP_SELF?Page=$i&&search=$search\">$i</a>]";
echo "<a href=\"$PHP_SELF?Page=$Next_Page&&search=$search\"> Next &gt;&gt;</a>";
Date : 2009-04-30 18:06:07 By : arsachi
 


 

No. 4



โพสกระทู้ ( 230 )
บทความ ( 0 )



สถานะออฟไลน์


เจ้าของกระทู้หายไปเลย แล้วทำได้อย่างไร ไม่บอกมาเลยนะครับ
Date : 2009-05-03 02:11:10 By : pukmtec
 


 

No. 5



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทดทีครับ เด๋วขอลองโค้ดที่คุณ arsachi ลงไว้ดูนะครับ ส่วนเว็บของคุณ PUKMTEC ผมไม่ทราบทำไมผมเข้าไม่ได้
ขออภัยด้วยครับ คือเน็ตมันตัด พึ่งซื้อมาเติม ครับ ขอโทดจริงๆครับ ได้ไม่ได้ยังไงจะมาบอกอีกทีครับ ขอบคุณครับ
Date : 2009-05-04 11:59:41 By : numarumay
 


 

No. 6

Guest


ได้แล้วครับ ขอบคุณคุณ 2คนมากครับ แหะๆ ติดอยู่นาน

ใช้โค้ดของคุณ arsachi บริเวณ การเปลี่ยนหน้าแล้วได้ครับ ขอบคุณคร้าบ
Date : 2009-05-12 10:43:54 By : numarumay
 


 

No. 7



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ขออนุญาติดันนิดนึงครับ ไม่อยากตั้งกระทู้ใหม่

คือ มี error ดังนี้ครับ

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\use\showdata.php on line 72

โค้ดบรรทัดที่ 72 ครับ

Code (PHP)
<?php
while($dbarr = mysql_fetch_array($result)) {
?>


ปัญหาของผมเกิดตอนสืบค้นข้อมูลครับ ตอนสืบค้นเป็นภาษาอังกฤษผ่านได้ปกติ
แต่ตอนสืบค้นภาษาไทย กลับเกิด Error ครับ


โค้ดทั้งหมดครับ มีเปลี่ยนแปลงจากข้างบน นิดหน่อยครับ

Code (PHP)
<?php
<html>
<?include("conn.inc.php")?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<title>:: สืบค้นข้อมูล เพิ่ม แก้ไข ลบ และ เปลี่ยนแปลง ::</title>
<link rel="stylesheet" type="text/css" href="../CssStyle/mainStyle.css">
<script Language="Javascript">
<!--
function Conf(object) {
if (confirm("โปรดยืนยันการลบ ?") == true) {
return true;
}
return false;
}
//-->
</script>
</head>

<body>
<form name="form1" method="POST" action="showdata.php">
<p align="center">
<font size="3">&lt;&lt; 
<a href="showdata.php">เรียกดูข้อมูลในฐานข้อมูล</a> &gt;&gt;
&lt;&lt; <a href="adddata.php">เพิ่มข้อมูลลงฐานข้อมูล</a> &gt;&gt;</font></p>
<p align="center"><u><b><font size="5" color="#800000">
แสดงข้อมูลในฐานข้อมูล</font></b></u></p>

<p align="center">
ค้นหาข้อมูล
<input type="text" name="search">

<select name="listdata">
 <option value=<?=$field_search?> selected>Name</option>
<option value=<?=$field_search2?>>Surname</option>
</select>

<input type="submit" name="Submit" value="ค้นหา">
</p>
<center>
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="650" id="AutoNumber1">
<tr>
<td width="5%" bgcolor="#CCFFFF" align="center">
<b><font color="#000080">ID</font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">ชื่อ </font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">นามสกุล</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">แก้ไข</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">ลบ</font></b></td>
</tr>
<?php
$list=$_POST['listdata'];
$search=$_POST['search'];

		if($list=="name")
			{
				$key="name";
			}
		else if($list=="surname")
			{
				$key="surname";
			}

// คำสั่ง SQL ที่ใช้ในการเลือกข้อมูลที่อยู่ในฐานข้อมูลกลับมา (เรียงตามลำดับ ID)
$result = mysql_query("select * from $search_table WHERE $list LIKE '%$search%' order by $id ");

while($dbarr = mysql_fetch_array($result)) {
/* ในลูปด้านล่าง เทียบได้กับการดึงข้อมูลมาทีละ 1 Record เพื่อนำมาแสดงผลทางหน้าจอ (เรียงตามลำดับ ID)*/

$strSQL = "SELECT * FROM $search_table WHERE $list LIKE '%$search%' order by $id ";

$Per_Page = 5;

if ( !$Page ) 
$Page = 1; 

$Prev_Page = $Page - 1; 
$Next_Page = $Page + 1; 

$result = mysql_query( $strSQL ); 

$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 "จำนวน $Page มากกว่า $Num_Pages";

$strSQL .= " LIMIT $Page_start, $Per_Page"; 

$result = mysql_query( $strSQL ); 

$sql = "select * from $search_table where $list like '%$search% order by $id'";
$dbquery = mysql_db_query($db, $sql);

while ( $rs = mysql_fetch_array( $result ) ) 
{ 
if($i < $num_rows){
$dbarr = mysql_fetch_array($dbquery); //ส่วนของการเรียกแสดงข้อมูลทั้งหมด และข้อมูลที่ค้นหา
}
if($bg == "#e9feff") { //ส่วนของการ สลับสี 
$bg = "#CCFFFF";
} else {
$bg = "#e9feff";
}
?>
<tr bgcolor="<?=$bg  // เรียกใช้การสลับสี?>">
<td width="5%" align="center"><?php echo $rs['id'] ; ?></td>
<td width="20%" align="center"><?php echo $rs['name'] ; ?></td>
<td width="10%" align="center"><?php echo $rs['surname'] ; ?></td>
<td width="5%" align="center"><center><a href="editdata.php?id=<?=$rs['id'];?>"><img src="edit.gif" width="15" height="15" border="0"></a></center></td>
<td width="5%" align="center"><center><a href="deletedata.php?id=<?=$rs['id'];?>" OnClick="return Conf(this)"><img src="delete.jpg" width="15" height="15" border="0"></a></center></td>
</tr>
<?php
}
$i++;
}
?>
</table>
</center>
<p class="Small">
<p class="Small">
รวมทั้งหมด <b><?php echo $Num_Rows; ?></b> เรคคอร์ด <b><?php echo $Num_Pages; ?></b> หน้า: 

<?php
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* สร้างปุ่มย้อนกลับ */
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page&&search=$search\">&lt;&lt; Back </a>"; 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* สร้างตัวเลขหน้า */
for ( $i=1; $i<=$Num_Pages; $i++ ) 
{ 
if ( $i != $Page ) 
echo "[<a href=\"$PHP_SELF?Page=$i&&search=$search\">$i</a>]";
else 
echo " <b>$i</b> "; 
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* สร้างปุ่มเดินหน้า */
if ( $Page != $Num_Pages ) 
echo "<a href=\"$PHP_SELF?Page=$Next_Page&&search=$search\"> Next &gt;&gt;</a>"; 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
?>
<br>
<center>
<input type="submit" value="UPDATE" name="update1">
</center>
</center>
</form>
</body>
</html> 
?>



อันนี้โค้ดจาก conn.inc.php ครับ

Code (PHP)
<?php
<?
$host = "localhost" ; // ชื่อ Host 
$username = "root" ; // Username ในการเชื่อมต่อกับฐานข้อมูล 
$password = "root" ; // Password ในการเชื่อมต่อกับฐานข้อมูล 
$db = "accidentreport" ; // ชื่อฐานข้อมูลที่สร้างไว้ accidentreport

///////////////////////////////////////////////
//ด้านล่าง คือรูปแบบคำสั่งในการเชื่อมต่อฐานข้อมูล(ตรวจสอบ) และทำให้สามารถแสดงตัวอักษรภาษาไทยได้ 
$connect = mysql_connect($host,$username,$password) 
or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db,$connect) 
or die("เลือกฐานข้อมูลไม่ได้");
mysql_db_query($db,"SET NAMES utf-8");

/////////////////////////Page Search////////////////////////
$id = "id";//เป็นตัวแปรที่ใช้เรียงข้อมูลที่ดึงออกมาแสดงผล (หลัง order by)
$search_table="member";//ตัวแปร Table ไว้สำหรับใช้ Search (สืบค้น) ข้อมูล 
$field_search="name";//ใช้ กำหนด ขอบเขต หรือ พื้นที่ๆต้องการค้นหา 
$field_search2="surname";//ใช้ กำหนด ขอบเขต หรือ พื้นที่ๆต้องการค้นหา ตัวที่2
?>
?>


ขอบคุณคร้าบ TT^TT
Date : 2009-05-13 16:11:54 By : numarumay
 


 

No. 8



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


ผมทำหน้า add edit deleate ค้นหา
แต่ปัญหาคือ ค้นหาตัวอักษรภาษาอังกฤษ ไม่มีอะไรครับ แต่เมื่อทำการค้นหา
ภาษาไทยแล้ว ขึ้น error ครับ

คือ มี error ดังนี้ครับ

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\use\showdata.php on line 70

โค้ดบรรทัดที่ 70 ครับ

Code (PHP)
<?php
while($dbarr = mysql_fetch_array($result))
?>


อันนี้โค้ดจาก conn.inc.php ครับ

Code (PHP)
<?php
<?
$host = "localhost" ; // ชื่อ Host 
$username = "root" ; // Username ในการเชื่อมต่อกับฐานข้อมูล 
$password = "root" ; // Password ในการเชื่อมต่อกับฐานข้อมูล 
$db = "accidentreport" ; // ชื่อฐานข้อมูลที่สร้างไว้ accidentreport

///////////////////////////////////////////////
//ด้านล่าง คือรูปแบบคำสั่งในการเชื่อมต่อฐานข้อมูล(ตรวจสอบ) และทำให้สามารถแสดงตัวอักษรภาษาไทยได้ 
$connect = mysql_connect($host,$username,$password) 
or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($db,$connect) 
or die("เลือกฐานข้อมูลไม่ได้");
mysql_db_query($db,"SET NAMES utf-8");

/////////////////////////Page Search////////////////////////
$id = "id";//เป็นตัวแปรที่ใช้เรียงข้อมูลที่ดึงออกมาแสดงผล (หลัง order by)
$search_table="member";//ตัวแปร Table ไว้สำหรับใช้ Search (สืบค้น) ข้อมูล 
$field_search="name";//ใช้ กำหนด ขอบเขต หรือ พื้นที่ๆต้องการค้นหา 
$field_search2="surname";//ใช้ กำหนด ขอบเขต หรือ พื้นที่ๆต้องการค้นหา ตัวที่2
?>
?>



โค้ดทั้งหมดครับ

Code (PHP)
<?php
<html>
<?include("conn.inc.php")?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620">
<title>:: สืบค้นข้อมูล เพิ่ม แก้ไข ลบ และ เปลี่ยนแปลง ::</title>
<link rel="stylesheet" type="text/css" href="../CssStyle/mainStyle.css">
<script Language="Javascript">
<!--
function Conf(object) {
if (confirm("โปรดยืนยันการลบ ?") == true) {
return true;
}
return false;
}
//-->
</script>
</head>

<body>
<form name="form1" method="POST" action="showdata.php">
<p align="center">
<font size="3">&lt;&lt; 
<a href="showdata.php">เรียกดูข้อมูลในฐานข้อมูล</a> &gt;&gt;
&lt;&lt; <a href="adddata.php">เพิ่มข้อมูลลงฐานข้อมูล</a> &gt;&gt;</font></p>
<p align="center"><u><b><font size="5" color="#800000">
แสดงข้อมูลในฐานข้อมูล</font></b></u></p>

<p align="center">
ค้นหาข้อมูล
<input type="text" name="search">

<select name="listdata">
 <option value=<?=$field_search?> selected>Name</option>
<option value=<?=$field_search2?>>Surname</option>
</select>

<input type="submit" name="Submit" value="ค้นหา">
</p>
<center>
<center>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="650" id="AutoNumber1">
<tr>
<td width="5%" bgcolor="#CCFFFF" align="center">
<b><font color="#000080">ID</font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">ชื่อ </font></b></td>
<td width="20%" bgcolor="#CCFFFF" align="center">
<p align="center"><b><font color="#000080">นามสกุล</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">แก้ไข</font></b></td>
<td width="5%" bgcolor="#CCFFFF" align="center"><b>
<font color="#000080">ลบ</font></b></td>
</tr>
<?php
$list=$_POST['listdata'];
$search=$_POST['search'];

		if($list=="name")
			{
				$key="name";
			}
		else if($list=="surname")
			{
				$key="surname";
			}

// คำสั่ง SQL ที่ใช้ในการเลือกข้อมูลที่อยู่ในฐานข้อมูลกลับมา (เรียงตามลำดับ ID)
$result = mysql_query("select * from $search_table WHERE $list LIKE '%$search%' order by $id ");

while($dbarr = mysql_fetch_array($result)) {
/* ในลูปด้านล่าง เทียบได้กับการดึงข้อมูลมาทีละ 1 Record เพื่อนำมาแสดงผลทางหน้าจอ (เรียงตามลำดับ ID)*/

$strSQL = "SELECT * FROM $search_table WHERE $list LIKE '%$search%' order by $id ";

$Per_Page = 5;

if ( !$Page ) 
$Page = 1; 

$Prev_Page = $Page - 1; 
$Next_Page = $Page + 1; 

$result = mysql_query( $strSQL ); 

$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 "จำนวน $Page มากกว่า $Num_Pages";

$strSQL .= " LIMIT $Page_start, $Per_Page"; 

$result = mysql_query( $strSQL ); 

$sql = "select * from $search_table where $list like '%$search% order by $id'";
$dbquery = mysql_db_query($db, $sql);

while ( $rs = mysql_fetch_array( $result ) ) 
{ 
if($i < $num_rows){
$dbarr = mysql_fetch_array($dbquery); //ส่วนของการเรียกแสดงข้อมูลทั้งหมด และข้อมูลที่ค้นหา
}
if($bg == "#e9feff") { //ส่วนของการ สลับสี 
$bg = "#CCFFFF";
} else {
$bg = "#e9feff";
}
?>
<tr bgcolor="<?=$bg  // เรียกใช้การสลับสี?>">
<td width="5%" align="center"><?php echo $rs['id'] ; ?></td>
<td width="20%" align="center"><?php echo $rs['name'] ; ?></td>
<td width="10%" align="center"><?php echo $rs['surname'] ; ?></td>
<td width="5%" align="center"><center><a href="editdata.php?id=<?=$rs['id'];?>"><img src="edit.gif" width="15" height="15" border="0"></a></center></td>
<td width="5%" align="center"><center><a href="deletedata.php?id=<?=$rs['id'];?>" OnClick="return Conf(this)"><img src="delete.jpg" width="15" height="15" border="0"></a></center></td>
</tr>
<?php
}
$i++;
}
?>
</table>
</center>
<p class="Small">
<p class="Small">
รวมทั้งหมด <b><?php echo $Num_Rows; ?></b> เรคคอร์ด <b><?php echo $Num_Pages; ?></b> หน้า: 

<?php
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* สร้างปุ่มย้อนกลับ */
if ( $Prev_Page )
echo "<a href=\"$PHP_SELF?Page=$Prev_Page&&search=$search\">&lt;&lt; Back </a>"; 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* สร้างตัวเลขหน้า */
for ( $i=1; $i<=$Num_Pages; $i++ ) 
{ 
if ( $i != $Page ) 
echo "[<a href=\"$PHP_SELF?Page=$i&&search=$search\">$i</a>]";
else 
echo " <b>$i</b> "; 
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* สร้างปุ่มเดินหน้า */
if ( $Page != $Num_Pages ) 
echo "<a href=\"$PHP_SELF?Page=$Next_Page&&search=$search\"> Next &gt;&gt;</a>"; 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
?>
<br>
<center>
<input type="submit" value="UPDATE" name="update1">
</center>
</center>
</form>
</body>
</html> 
?>


รบกวนพี่ๆด้วยครับ พอดีไปโพสไว้ในกระทู้เดิมแล้วแต่หลายท่านอาจไม่เห็น ขอบคุณครับ
Date : 2009-05-14 12:51:07 By : numarumay
 


 

No. 9



โพสกระทู้ ( 9 )
บทความ ( 0 )



สถานะออฟไลน์


เอ่อ ขอบคุณด้วยครับ มั่วตั้งกะช้าวได้แว้ว T^T ขอบคุณพี่ๆด้วยครับ
Date : 2009-05-14 15:17:20 By : numarumay
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปัญหา Search และ แบ่งหน้าแสดงผลครับ รบกวนทีครับ ขอบคุณครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่