รบกวนอีกหน่อยนึงนะคะ คุณพี่... พลีสเถอะคะ ดูโค้ดให้อีกนิดคะ ข้อมูลมีทั้งหมด 16 record แต่มันแสดงแค่ 5 ตามที่กำหนดจำนวนแสดงต่อหน้านะคะ
Code
ดูโค้ดให้อีกนิดคะ ข้อมูลมีทั้งหมด 16 record แต่มันแสดงแค่ 5 ตามที่กำหนดจำนวนแสดงต่อหน้านะคะ
เพจมันมะแบ่งให้อ่าคะ ไม่รุ้ผิดตรงไหนงะ ดูให้หน่อยนะคะ อยากให้มันแสดงทั้งหมดและแบ่งหน้าด้วยนะคะ
Code (PHP)
$page_start=0;
$per_page=5;
//-------------ค้นหา
if(isset($_REQUEST['text_search']) && trim($_REQUEST['text_search'])!= ""){
$txt_search = $_REQUEST['text_search'];
$search_type = $_REQUEST['search_type'];
switch ($search_type){
case 2: $where = "P_id=" . $txt_search ; break;
case 3: $where = "Name LIKE '%" . $txt_search . "%'"; break;
}
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data WHERE " .$where. " ORDER BY P_id desc LIMIT $page_start, $per_page";
$count = mysql_num_rows(mysql_db_query($dbname,$sql_data));}
else{
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data ORDER BY P_id desc LIMIT $page_start, $per_page";
$count = mysql_num_rows(mysql_db_query($dbname,$sql_data));}
$data_result = mysql_db_query($dbname,$sql_data);
//--------------กำหนดจำนวนข้อมูลแสดงผลต่อ 1 หน้า ---------------------------//
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( $data_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";
//-------------------คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า---------------------------//
$sql .= " LIMIT $page_start, $per_page";
//$result = mysql_query( $sql );
//$dbquery = mysql_db_query($dbname,$sql);
$cols = 5; //กำหนดจำนวนคอลั่ม
$c = $cols;
$c --;
?>
<table width="100%" border="0"><tr>
<?
if($c == 0) {
$c = $cols;
?></tr> <? } ?> </table>
<br /><br /><!- - แสดงผลจำนวนเรคคอร์ดของข้อมูล จำนวนหน้าและลิงค์หน้าต่อๆไป - - !>
รวม <b><?php echo $num_rows; ?></b> แสดงอยู่ <b><?php echo $num_pages; ?></b> หน้า <br />
<?php //------------------- สร้างปุ่มย้อนกลับ -------------------------//
if ( $prev_page )
echo "<a href=\"$PHP_SELF?page=$prev_page\"><<กลับไป </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\"> หน้าต่อไป >></a>";
?>
Tag : - - - -
Date :
2010-01-07 14:17:26
By :
kakaka
View :
1095
Reply :
11
แย่จัง มะมีใครดูให้เลยงะ
Date :
2010-01-07 14:42:47
By :
kakaka
ช่วยดูให้หน่อยจิคร้า นะคะ ใครที่แวะเข้ามาแระงะ เครียดมากเลยงะ ตอนแรกก้อใช้งานได้ แต่ตอนนี้มันเปงไรมะรุ้คะ
Date :
2010-01-07 16:05:26
By :
kakaka
ขอ backup ฐานข้อมูลตารางที่เกี่ยวข้องครับ ว่างๆ ทำให้ครับ
Date :
2010-01-07 16:18:40
By :
...
Code
โครงสร้างตาราง `data`
--
CREATE TABLE `data` (
`P_id` int(5) NOT NULL auto_increment,
`Prefix` varchar(7) NOT NULL,
`Name` varchar(30) NOT NULL,
`Birthdate` date NOT NULL,
`Age` int(2) NOT NULL,
`Idcard` varchar(13) NOT NULL,
`Nationality` varchar(20) NOT NULL,
`Religious` varchar(15) NOT NULL,
`Address` text NOT NULL,
`Tel` char(11) NOT NULL,
`Mobile` char(10) NOT NULL,
`Fax` char(11) NOT NULL,
`Email` varchar(40) NOT NULL,
`Education` varchar(20) NOT NULL,
`Course` varchar(50) NOT NULL,
`Institution` varchar(50) NOT NULL,
PRIMARY KEY (`P_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=138 ;
--
-- dump ตาราง `data`
--
INSERT INTO `data` VALUES (125, 'นาย', 'อัคนัยปทุม', '1981-01-13', 28, '1102155483612', 'ไทย', 'พุทธ', '14หมู่5ต.คลองเกลืออ.ปากเกร็ดจ.นนทบุรี10120', '02-854-5245', '089-111111', '02-854-5245', '[email protected] ', 'ปริญญาโท', 'วิทยาศาสตร์คอมพิวเตอร์', 'จุฬาลงกรณ์มหาวิทยาลัย');
INSERT INTO `data` VALUES (108, 'นาย', 'ปริวรรตเรืองเจริญ', '1986-05-31', 23, '1102147483647', 'ไทย', 'พุทธ', '137ต.ศิลาอ.เมืองจ.ขอนแก่น40000', '043-265136', '086-816882', '043-265136', '[email protected] ', 'ปริญญาตรี', 'วิศวกรรมไฟฟ้า', 'มหาวิทยาลัยขอนแก่น');
INSERT INTO `data` VALUES (122, 'นางสาว', 'มะลิวัลล์', '1983-01-07', 26, '1102154895663', 'ไทย', 'พุทธ', '2ต.ศิลาอ.เมืองจ.ขอนแก่น40000', '043-265136', '082-325422', '043-265136', '[email protected] ', 'ปริญญาตรี', 'เทคโนโลยีสารสนเทศ', 'มหาวิทยาลัยขอนแก่น');
Date :
2010-01-07 16:49:01
By :
kakaka
<?php
mysql_connect('localhost','root','123');
mysql_query('SET NAMES UTF8');
$dbname = 'kakaka';
$PHP_SELF = $_SERVER['REQUEST_URI'];
$page_start = 0;
$per_page = 3;
$page = @$_GET['page'];
//-------------ค้นหา
if(isset($_REQUEST['text_search']) && trim($_REQUEST['text_search'])!= ""){
$txt_search = $_REQUEST['text_search'];
$search_type = $_REQUEST['search_type'];
switch ($search_type){
case 2: $where = "P_id='" . $txt_search ."'"; break;
case 3: $where = "Name LIKE '%" . $txt_search . "%'"; break;
}
//find num_rows
$sql_data_all = "SELECT count(*) FROM data WHERE " .$where. " ORDER BY P_id desc";
$qr = mysql_db_query($dbname, $sql_data_all);
$num_rows = mysql_result($qr,0);
if ( empty($page) )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ( $per_page * $page) - $per_page;
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;
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data WHERE " .$where. " ORDER BY P_id desc LIMIT $page_start, $per_page";
$data_result = mysql_db_query($dbname,$sql_data);
$count = mysql_num_rows($data_result);
}else{
//find num_rows
$sql_data_all = "SELECT count(*) FROM data";
$qr = mysql_db_query($dbname, $sql_data_all);
echo mysql_error();
$num_rows = mysql_result($qr,0);
if ( empty($page) )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ( $per_page * $page) - $per_page;
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;
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data ORDER BY P_id desc LIMIT $page_start, $per_page";
$data_result = mysql_db_query($dbname,$sql_data);
$count = mysql_num_rows($data_result);
}
echo $sql_data;
if ( ( $page > $num_pages ) || ( $page < 0 ) )
print "จำนวน $page มากกว่า $num_pages";
//-------------------คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า---------------------------//
//$sql .= " LIMIT $page_start, $per_page";
//$result = mysql_query( $sql );
//$dbquery = mysql_db_query($dbname,$sql);
$cols = 5; //กำหนดจำนวนคอลั่ม
$c = $cols;
$c --;
?>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<table width="100%" border="0"><tr>
<?
if($c == 0) {
$c = $cols;
?>
</tr>
<? } ?>
</table>
<br /><br /><!- - แสดงผลจำนวนเรคคอร์ดของข้อมูล จำนวนหน้าและลิงค์หน้าต่อๆไป - - !>
รวม <b><?php echo $num_rows; ?></b> แสดงอยู่ <b><?php echo $num_pages; ?></b> หน้า <br />
<?php //------------------- สร้างปุ่มย้อนกลับ -------------------------//
$QA = $_GET;
$QA['page'] = $prev_page;
$QS = http_build_query($QA);
if ( $prev_page )
echo "<a href=\"?$QS\"><<กลับไป </a>";
//--------------------- สร้างตัวเลขหน้า -----------------------------//
for ( $i=1; $i<=$num_pages; $i++ )
{
$QA['page'] = $i;
$QS = http_build_query($QA);
if ( $i != $page)
echo "[<a href=\"?$QS\">$i</a>]";
else
echo " <b>$i</b> ";
}
//-------------------- สร้างปุ่มเดินหน้า --------------------------------//
$QA['page'] = $next_page;
$QS = http_build_query($QA);
if ( $page != $num_pages )
echo "<a href=\"?$QS\"> หน้าต่อไป >></a>";
?>
<?php while ($row = mysql_fetch_assoc($data_result)):?>
<br/><?php echo implode(',',$row);?>
<?php endwhile;?>
<form method="get" action="">
<input type="text" name="text_search" id="text_search" value="" />
<select name="search_type">
<option value="2">2</option>
<option value="3">3</option></select>
<input type="submit" name="submit" value="search" />
</form>
Date :
2010-01-07 17:48:50
By :
...
ขอบคุณนะคะ
Date :
2010-01-08 08:32:14
By :
kakaka
ไม่ทราบว่า โค้ดที่เขียนเนี่ย encode query string
หรือป่าวคะ
Date :
2010-01-08 09:49:35
By :
kakaka
Code
รบกวนอีกนิดนะคะ ช่วยอธิบายส่วนที่แก้ให้ฟังหน่อยได้ไหมคะ ไม่เข้าใจอ่าคะ เพราะฟังก์ชันบางตัวไม่เคยใช้งานมันนะคะ เลยไม่รุ้ว่ามันทำงานแบบไหนคะ แต่ลองค้นหาดูสิคะ อย่างเช่น ค้นหา ด แล้วพี่คลิกที่เพจที่ 2 เหงปะคะมันจะเอาข้อมูลทั้งหมดมาแสดงอีกอ่าคะ
อันนี้โค้ดเต็มๆคะ
Code (PHP)
<?php
$hostname = "localhost";
$username = "root";
$password = "123";
$dbname = "datatest";
$conn = mysql_connect( $hostname, $username, $password );
mysql_query("SET NAMES UTF8");
if ( ! $conn )die ( "ไม่สามารถติดต่อฐานข้อมูล MySQL ได้ " );
mysql_select_db ( $dbname, $conn )or die ( "ไม่สามารถเลือกฐานข้อมูล datatest ได้" );
$page_start=0;
$per_page=5;
$page = @$_REQUEST['page'];
//-------------ค้นหา
if(isset($_REQUEST['text_search']) && trim($_REQUEST['text_search'])!= ""){
//เช็คว่าต้องมีการ พิมพ์ในช่อง search เท่านั้นจึงจะเข้าทำ statement ทีอยู่ด้านใน
$txt_search = $_REQUEST['text_search'];
$search_type = $_REQUEST['search_type'];
switch ($search_type){
case 2: $where = "P_id=" . $txt_search ; break;
case 3: $where = "Name LIKE '%" . $txt_search . "%'"; break;
}
//find num_rows
$sql_data_all = "SELECT count(*) FROM data WHERE " .$where. " ORDER BY P_id desc";
$qr = mysql_db_query($dbname, $sql_data_all);
$num_rows = mysql_result($qr,0);
if ( empty($page) )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ( $per_page * $page) - $per_page;
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;
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data WHERE " .$where. " ORDER BY P_id desc LIMIT $page_start, $per_page";
$data_result = mysql_db_query($dbname,$sql_data);
$count = mysql_num_rows($data_result);
}else{
//find num_rows
$sql_data_all = "SELECT count(*) FROM data";
$qr = mysql_db_query($dbname, $sql_data_all);
echo mysql_error();
$num_rows = mysql_result($qr,0);
if ( empty($page) )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ( $per_page * $page) - $per_page;
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;
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data ORDER BY P_id desc LIMIT $page_start, $per_page";
$data_result = mysql_db_query($dbname,$sql_data);
$count = mysql_num_rows($data_result);
}
echo $sql_data;
if ( ( $page > $num_pages ) || ( $page < 0 ) )
print "จำนวน $page มากกว่า $num_pages";
//-------------------คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า---------------------------//
//$sql .= " LIMIT $page_start, $per_page";
//$result = mysql_query( $sql );
//$dbquery = mysql_db_query($dbname,$sql);
$cols = 5; //กำหนดจำนวนคอลั่ม
$c = $cols;
$c --;
?>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<table width="100%" border="0"><tr>
<?
if($c == 0) {
$c = $cols;
?>
</tr>
<? } ?>
</table>
<br /><br /><!- - แสดงผลจำนวนเรคคอร์ดของข้อมูล จำนวนหน้าและลิงค์หน้าต่อๆไป - - !>
รวม <b><?php echo $num_rows; ?></b> แสดงอยู่ <b><?php echo $num_pages; ?></b> หน้า <br />
<?php //------------------- สร้างปุ่มย้อนกลับ -------------------------//
$QA = $_GET;
$QA['page'] = $prev_page;
$QS = http_build_query($QA);
if ( $prev_page )
echo "<a href=\"?$QS\"><<กลับไป </a>";
//--------------------- สร้างตัวเลขหน้า -----------------------------//
for ( $i=1; $i<=$num_pages; $i++ )
{
$QA['page'] = $i;
$QS = http_build_query($QA);
if ( $i != $page)
echo "[<a href=\"?$QS\">$i</a>]";
else
echo " <b>$i</b> ";
}
//-------------------- สร้างปุ่มเดินหน้า --------------------------------//
$QA['page'] = $next_page;
$QS = http_build_query($QA);
if ( $page != $num_pages )
echo "<a href=\"?$QS\"> หน้าต่อไป >></a>";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
.style2 {font-size: 16px; font-weight: bold; color: #FF0000;}
.style3 {color: #000000}
.style4 {color: #0000FF}
-->
</style>
</head>
<body onload='document.Add1.text_search.focus();'>
<table width="1300" border="1">
<form action='Show1.php' method='post' >
<tr>
<td colspan="18" align='center' bgcolor="#00CCFF" class="style2 style3">แสดงข้อมูล</td>
</tr>
<tr>
<td colspan="18" align='center' bgcolor="#00CCFF"><input name="text_search" type="text" value="<?=$txt_search?>">
<select name="search_type">
<option value='1'<?=($_REQUEST['search_type'] == 1) ? ' selected="selected"' : ''?>>
-คำค้นหา-</option>
<option value='2'<?=($_REQUEST['search_type'] == 2) ? ' selected="selected"' : ''?>>รหัส</option>
<option value='3'<?=($_REQUEST['search_type'] == 3) ? ' selected="selected"' : ''?>>ชื่อ</option>
</select>
<input name="cmd_Search" type="submit" id="cmd_Search"value="ค้นหา"> </tr>
</form>
<tr align='center'>
<td width="28" bgcolor="#00CC99"><span class="style4">ลำดับ</span></td>
<td width="100" bgcolor="#00CC99"><span class="style4">ชื่อ</span></td>
<td width="217" bgcolor="#00CC99"><span class="style4">ที่อยู่</span></td>
<td width="95" bgcolor="#00CC99"><span class="style4">เบอร์โทรศัพท์</span></td>
<td width="86" bgcolor="#00CC99"><span class="style4">มือถือ</span></td>
<td width="93" bgcolor="#00CC99"><span class="style4">แฟกซ์</span></td>
<td width="98" bgcolor="#00CC99"><span class="style4">อีเมลล์</span></td>
<td width="76" bgcolor="#00CC99"><span class="style4">การศึกษา</span></td>
<td width="158" bgcolor="#00CC99"><span class="style4">สาขา</span></td>
<td width="165" bgcolor="#00CC99"><span class="style4">มหาวิทยาลัย</span></td>
<td width="61" bgcolor="#00CC99"><span class="style4">แก้ไข</span></td>
<td width="47" bgcolor="#00CC99"><span class="style4">ลบ</span></td>
</tr>
<?
if($data_result){ // ถ้ามีข้อมูลอยู่แล้วให้โชว์ data result
$i = 1;
while($rows = mysql_fetch_array($data_result)){//query ก็สอบถามไปยัง database โดยส่ง command ไป
//จะ return ค่า เป็น resource กลับมาก้อนนึง $data_result ก็คือค่า ที่เรามา fetch
//whileตัวนี้จะหลุดจาก loop เมื่อ มัน fetch หมดทุกๆ ค่า//mysql_fetch_array จะดึงค่า ออกมาที ละ row
//ถ้าเมื่อ fetch ค่าไม่หมดจะเป็น while( True )//เมื่อ fetch ค่าทุกๆ ออกมาหมดแล้ว จะเป็น while ( false )
//while ตัวนี้จะหลุดจาก loop เมื่อ มัน fetch หมดทุกๆค่าและหยุดการทำงาน
$P_id = $rows['P_id'];
$Name = $rows['Name'];
$Address = $rows['Address'];
$Tel = $rows['Tel'];
$Mobile = $rows['Mobile'];
$Fax = $rows['Fax'];
$Email = $rows['Email'];
$Education = $rows['Education'];
$Course = $rows['Course'];
$Institution = $rows['Institution'];
//-----------ค้นหาตามคีย์เวิร์ด---------//
$keyword = $_REQUEST['text_search'];// สมมติว่า keyword เท่ากับ text_search
$replace = "<span style='color:red'>{$keyword}</span>"; // ใส่สีให้ keyword
$original = $Name; // string ทั้งหมดที่ query มา
$Name = str_replace($keyword,$replace,$original);
//------
echo $result;
echo "<tr>";
echo "<td align='center' bgcolor='#FF9933'>" . $i . "</td>" ;
//echo "<td align='center'>" . $P_id . "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Name . "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Address. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Tel. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Mobile. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Fax. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Email. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Education. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Course. "</td>" ;
echo "<td bgcolor='#FFFF99'>". $Institution."</td>" ;
echo "<td align='center'bgcolor='#999999'><a href='Edit1.php?P_id=" .$P_id . "'>แก้ไข</a></td>" ;
echo "<td align='center'bgcolor='#999999'><a href='Delete1.php?P_id=" .$P_id . "'>ลบ</a></td>" ;
echo "</tr>";
$i++;
}
}
?>
<?php endwhile;?>
<?php mysql_close($conn);?>
<tr nowrap>
<td height="28" colspan="18"align='center' bgcolor="#CC33CC">
<form action='Add1.php' method='post'>
<input name="cmd_Add" type="submit" id="cmd_Add" value="เพิ่มข้อมูล"onclick="javascript: location.href='Add1.php';">
</form></td>
</tr>
</table>
<a href="javascript:location.href=location.href">Refresh</a><? //เคลียร์ค่าทุกอย่างให้เหลือแค่ตาราง
//*** แต่ยังทำไม่ได้????? ?>
</body>
</html>
Code
ปล. พี่คะพี่เขียนโค้ดเทพจังเลยคะ หนูตามโค้ดที่พี่เขียนไม่ทันอ่า พอดี พึ่งหัดเขียนนะคะ เอิ๊กๆ คิคิ เอาแบบธรรมดาได้ไหมคะ หนูเรื่องมากจังเนาะ คิคิ
Date :
2010-01-08 09:56:13
By :
kakaka
สงสารน้องจริงเลย
ไม่มีใครช่วย 5555++++ แซวเล่นน่ะคราบ
Date :
2010-01-08 10:00:28
By :
parita
แก้ตรง <form method="get" ครับ
<?php
$hostname = "localhost";
$username = "root";
$password = "123";
$dbname = "datatest";
$conn = mysql_connect( $hostname, $username, $password );
mysql_query("SET NAMES UTF8");
if ( ! $conn )die ( "ไม่สามารถติดต่อฐานข้อมูล MySQL ได้ " );
mysql_select_db ( $dbname, $conn )or die ( "ไม่สามารถเลือกฐานข้อมูล datatest ได้" );
$page_start=0;
$per_page=5;
$page = @$_REQUEST['page'];
//-------------ค้นหา
if(isset($_REQUEST['text_search']) && trim($_REQUEST['text_search'])!= ""){
//เช็คว่าต้องมีการ พิมพ์ในช่อง search เท่านั้นจึงจะเข้าทำ statement ทีอยู่ด้านใน
$txt_search = $_REQUEST['text_search'];
$search_type = $_REQUEST['search_type'];
switch ($search_type){
case 2: $where = "P_id=" . $txt_search ; break;
case 3: $where = "Name LIKE '%" . $txt_search . "%'"; break;
}
//find num_rows
$sql_data_all = "SELECT count(*) FROM data WHERE " .$where. " ORDER BY P_id desc";
$qr = mysql_db_query($dbname, $sql_data_all);
$num_rows = mysql_result($qr,0);
if ( empty($page) )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ( $per_page * $page) - $per_page;
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;
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data WHERE " .$where. " ORDER BY P_id desc LIMIT $page_start, $per_page";
$data_result = mysql_db_query($dbname,$sql_data);
$count = mysql_num_rows($data_result);
}else{
//find num_rows
$sql_data_all = "SELECT count(*) FROM data";
$qr = mysql_db_query($dbname, $sql_data_all);
echo mysql_error();
$num_rows = mysql_result($qr,0);
if ( empty($page) )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$page_start = ( $per_page * $page) - $per_page;
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;
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data ORDER BY P_id desc LIMIT $page_start, $per_page";
$data_result = mysql_db_query($dbname,$sql_data);
$count = mysql_num_rows($data_result);
}
echo $sql_data;
if ( ( $page > $num_pages ) || ( $page < 0 ) )
print "จำนวน $page มากกว่า $num_pages";
//-------------------คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า---------------------------//
//$sql .= " LIMIT $page_start, $per_page";
//$result = mysql_query( $sql );
//$dbquery = mysql_db_query($dbname,$sql);
$cols = 5; //กำหนดจำนวนคอลั่ม
$c = $cols;
$c --;
?>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<table width="100%" border="0"><tr>
<?
if($c == 0) {
$c = $cols;
?>
</tr>
<? } ?>
</table>
<br /><br /><!- - แสดงผลจำนวนเรคคอร์ดของข้อมูล จำนวนหน้าและลิงค์หน้าต่อๆไป - - !>
รวม <b><?php echo $num_rows; ?></b> แสดงอยู่ <b><?php echo $num_pages; ?></b> หน้า <br />
<?php //------------------- สร้างปุ่มย้อนกลับ -------------------------//
$QA = $_GET;
$QA['page'] = $prev_page;
$QS = http_build_query($QA);
if ( $prev_page )
echo "<a href=\"?$QS\"><<กลับไป </a>";
//--------------------- สร้างตัวเลขหน้า -----------------------------//
for ( $i=1; $i<=$num_pages; $i++ )
{
$QA['page'] = $i;
$QS = http_build_query($QA);
if ( $i != $page)
echo "[<a href=\"?$QS\">$i</a>]";
else
echo " <b>$i</b> ";
}
//-------------------- สร้างปุ่มเดินหน้า --------------------------------//
$QA['page'] = $next_page;
$QS = http_build_query($QA);
if ( $page != $num_pages )
echo "<a href=\"?$QS\"> หน้าต่อไป >></a>";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
.style2 {font-size: 16px; font-weight: bold; color: #FF0000;}
.style3 {color: #000000}
.style4 {color: #0000FF}
-->
</style>
</head>
<body onload='document.Add1.text_search.focus();'>
<table width="1300" border="1">
<form action='Show1.php' method='get' >
<tr>
<td colspan="18" align='center' bgcolor="#00CCFF" class="style2 style3">แสดงข้อมูล</td>
</tr>
<tr>
<td colspan="18" align='center' bgcolor="#00CCFF"><input name="text_search" type="text" value="<?=@$txt_search?>">
<select name="search_type">
<option value='1'<?=(@$_REQUEST['search_type'] == 1) ? ' selected="selected"' : ''?>>
-คำค้นหา-</option>
<option value='2'<?=(@$_REQUEST['search_type'] == 2) ? ' selected="selected"' : ''?>>รหัส</option>
<option value='3'<?=(@$_REQUEST['search_type'] == 3) ? ' selected="selected"' : ''?>>ชื่อ</option>
</select>
<input name="cmd_Search" type="submit" id="cmd_Search"value="ค้นหา"> </tr>
</form>
<tr align='center'>
<td width="28" bgcolor="#00CC99"><span class="style4">ลำดับ</span></td>
<td width="100" bgcolor="#00CC99"><span class="style4">ชื่อ</span></td>
<td width="217" bgcolor="#00CC99"><span class="style4">ที่อยู่</span></td>
<td width="95" bgcolor="#00CC99"><span class="style4">เบอร์โทรศัพท์</span></td>
<td width="86" bgcolor="#00CC99"><span class="style4">มือถือ</span></td>
<td width="93" bgcolor="#00CC99"><span class="style4">แฟกซ์</span></td>
<td width="98" bgcolor="#00CC99"><span class="style4">อีเมลล์</span></td>
<td width="76" bgcolor="#00CC99"><span class="style4">การศึกษา</span></td>
<td width="158" bgcolor="#00CC99"><span class="style4">สาขา</span></td>
<td width="165" bgcolor="#00CC99"><span class="style4">มหาวิทยาลัย</span></td>
<td width="61" bgcolor="#00CC99"><span class="style4">แก้ไข</span></td>
<td width="47" bgcolor="#00CC99"><span class="style4">ลบ</span></td>
</tr>
<?
if($data_result){ // ถ้ามีข้อมูลอยู่แล้วให้โชว์ data result
$i = 1;
while($rows = mysql_fetch_array($data_result)){//query ก็สอบถามไปยัง database โดยส่ง command ไป
//จะ return ค่า เป็น resource กลับมาก้อนนึง $data_result ก็คือค่า ที่เรามา fetch
//whileตัวนี้จะหลุดจาก loop เมื่อ มัน fetch หมดทุกๆ ค่า//mysql_fetch_array จะดึงค่า ออกมาที ละ row
//ถ้าเมื่อ fetch ค่าไม่หมดจะเป็น while( True )//เมื่อ fetch ค่าทุกๆ ออกมาหมดแล้ว จะเป็น while ( false )
//while ตัวนี้จะหลุดจาก loop เมื่อ มัน fetch หมดทุกๆค่าและหยุดการทำงาน
$P_id = $rows['P_id'];
$Name = $rows['Name'];
$Address = $rows['Address'];
$Tel = $rows['Tel'];
$Mobile = $rows['Mobile'];
$Fax = $rows['Fax'];
$Email = $rows['Email'];
$Education = $rows['Education'];
$Course = $rows['Course'];
$Institution = $rows['Institution'];
//-----------ค้นหาตามคีย์เวิร์ด---------//
$keyword = @$_REQUEST['text_search'];// สมมติว่า keyword เท่ากับ text_search
$replace = "<span style='color:red'>{$keyword}</span>"; // ใส่สีให้ keyword
$original = $Name; // string ทั้งหมดที่ query มา
$Name = str_replace($keyword,$replace,$original);
//------
echo @$result;
echo "<tr>";
echo "<td align='center' bgcolor='#FF9933'>" . $i . "</td>" ;
//echo "<td align='center'>" . $P_id . "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Name . "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Address. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Tel. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Mobile. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Fax. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Email. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Education. "</td>" ;
echo "<td bgcolor='#FFFF99'>" . $Course. "</td>" ;
echo "<td bgcolor='#FFFF99'>". $Institution."</td>" ;
echo "<td align='center'bgcolor='#999999'><a href='Edit1.php?P_id=" .$P_id . "'>แก้ไข</a></td>" ;
echo "<td align='center'bgcolor='#999999'><a href='Delete1.php?P_id=" .$P_id . "'>ลบ</a></td>" ;
echo "</tr>";
$i++;
}
}
?>
<?php mysql_close($conn);?>
<tr nowrap>
<td height="28" colspan="18"align='center' bgcolor="#CC33CC">
<form action='Add1.php' method='post'>
<input name="cmd_Add" type="submit" id="cmd_Add" value="เพิ่มข้อมูล"onclick="javascript: location.href='Add1.php';">
</form></td>
</tr>
</table>
<a href="javascript:location.href='?'">Refresh</a><? //เคลียร์ค่าทุกอย่างให้เหลือแค่ตาราง
//*** แต่ยังทำไม่ได้????? ?>
</body>
</html>
Date :
2010-01-08 10:38:09
By :
...
ได้แล้วคะ ขอบคุณมากๆนะคร้า
Date :
2010-01-08 11:15:13
By :
kakaka
Load balance : Server 00