|
|
|
คือตอนนี้ติดปัญหาตรงที่เวลาเราค้นหาข้อมูลในช่อง textsearch แล้วระบุคำค้นหาเป็นชื่อข้อมูลจะแสดงดังรูปคะ |
|
|
|
|
|
|
|
Code (PHP)
//----------------คำสั่ง SQL ให้เลือกใช้งานตาราง ------------------------------//
$sql = "SELECT * FROM data order by P_id desc";
//--------------กำหนดจำนวนข้อมูลแสดงผลต่อ 1 หน้า ---------------------------//
$per_page = 5;
//$page_start =0;
//-----------------------------------------------------------------------//
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 "จำนวน $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;
?>
<table width="100%" border="0"><tr>
<?
while($result = mysql_fetch_array( $dbquery)) {
$c --;
?>
<?
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"."&search_type=$search_type&text_search=$text_search\">$i</a>]";
else
echo " <b>$i</b> ";
}
//-------------------- สร้างปุ่มเดินหน้า --------------------------------//
if ( $page != $num_pages )
echo "<a href=\"$PHP_SELF?page=$next_page\"> หน้าต่อไป >></a>";
?>
<?php
//-------------ค้นหา
if(isset($_POST['text_search']) && trim($_POST['text_search'])!= ""){
$txt_search = $_POST['text_search'];
$search_type = $_POST['search_type'];
echo "<br>".$search_type."<br>";
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";}
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";}
echo $sql_data;
$data_result = mysql_db_query($dbname,$sql_data);
mysql_close ($conn );
?>
<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'type="<? search_type?>">-คำค้นหา-</option>
<option value='2'type="<? search_type?>">รหัส</option>
<option value='3'type="<? search_type?>">ชื่อ</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>
<?php
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 = $_POST['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++;
}
}
//----------------- ปิดการเชื่อมต่อฐานข้อมูล -------------------------//
//mysql_close( $connect_mysql );
?>
คือตอนนี้ติดปัญหาตรงที่เวลาเราค้นหาข้อมูลในช่อง textsearch แล้วระบุคำค้นหาเป็นชื่อข้อมูลจะแสดงดังรูปคะ
แต่พอเวลาเราเลือกไปเพจที่2 ตรง textsearch มันไม่ส่งค่าไปให้เพจที่2เพื่อจะใช้คิวรี่ตรงชื่อนะคะ สังเกตว่า where มันหายไปไหนก็ไม่ทราบคะ ดังรูปคะ
ตอนนี้อยากจะให้เวลาเราเลือกค้นหาช่องของ textsearch ก็จะแสดงเป็น ป แล้วตรงคำค้นหาให้แสดงเป็น ชื่อ ค้างไว้แบบนั้น ไปทุกๆหน้าเพจที่เราค้นหาเลยคะหน้าไหนไม่มีข้อมูลก็ไม่แสดง ถ้าเราเลือกเพจ 2 หากเราต้องการกลับมาเพจ 1 ก้อจะยังคงแสดงเหมือนเดิม เราไปหน้าเพจ3 แล้วจะกลับมาเพจ 2 ก็ให้แสดงเหมือนเดิม แบบนี้ละคะ ใครพอจะมีแนวคิดดีดีมั่งคะ คิดยังไงก้อคิดต่อไม่ออกละคะ มันตันไปหมดเลยคะ รบกวนหน่อยนะคะ
Tag : - - - -
|
|
|
|
|
|
Date :
2009-12-22 10:44:34 |
By :
kakaka |
View :
1188 |
Reply :
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f(isset($_POST['text_search']) && trim($_POST['text_search'])!= ""){
$txt_search = $_POST['text_search'];
$search_type = $_POST['search_type'];
ข้างบนเปลี่ยนจาก POST เป็น REQUEST
ถ้าอยากให้แสดงใน textbox ด้วยก็ echo ตรง value ของ textbox ด้วยครับ
|
|
|
|
|
Date :
2009-12-22 10:54:09 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมตอบแบบเดา ๆ เอาหน่ะคับ ช่วยคิด ๆ
คือคุณค้นหาจาก ป ใช่ป่ะคับ แล้วทีนี้พอเลื่อนหน้าสอง มันหาย และเงื่อนไขไม่เข้า ผมว่าเป็นเพราะส่งค่า Post ไป มันจะแสดงได้เฉพาะหน้าแรก พอเปลี่ยนหน้าค่า Post มันจะหายไปหน่ะ
ลองเก็บเป็น Session แล้วใช้ค้นหาดูครับ หรือไม่ก้อส่งเป็นค่า GET
|
|
|
|
|
Date :
2009-12-22 10:57:27 |
By :
ความรู้เท่าหางอึ่ง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เหมือนเดิมคะ ตรง textbox เพจแรกแสดงอยู่อ่าคะ แต่พอคลิกไปเพจอื่น มันไม่แสดง
เอาเม้าท์ไปชี้ที่เพจ2มันแสดง http://localhost/Show1.php?page=3$search_type=3$text_search=ป
แต่มันทำไมไม่ส่งค่าไปคะ
|
|
|
|
|
Date :
2009-12-22 11:05:02 |
By :
kakaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วคะพี่ plakrim ขอบคุณนะคะ
มะกี้หนูมึนนะคะ เลยว่ามะได้
ว่าแต่พี่plakrim ชื่อไรคะจะได้เรียกถุก
|
|
|
|
|
Date :
2009-12-22 11:20:16 |
By :
kakaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่แกชื่อ ปลากริมไข่เน่า
เอ๊ยยย ปลากริม ไข่เต่า ครับ
|
|
|
|
|
Date :
2009-12-22 11:24:30 |
By :
yomaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอถามอีกนิดนึงนะคะ ถ้าตอนที่ค้นหาข้อมูลมันมีทั้งหมดชื่อเดียวเราให้มันแสดงว่ารวม1แสดง1หน้าแล้วมีแค่หน้าเดียวนะคะไม่ต้องมีไป กลับนะคะ ตอนนี้มันบอกว่ามีข้อมูลทั้งหมด 16 แสดง 4หน้า ทั้งๆที่ตอนค้นหาไม่มีข้อมูลเลยมันก้อยังแสดงนะคะ
|
|
|
|
|
Date :
2009-12-22 11:25:48 |
By :
kakaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดียวเพ่เขาก็จะบอกว่าไม่เอาชื่อให้ได้เปล่า ให้เบอร์ไปแทนล่ะกัน งิงิงิงิ(แซวเพ่อั๋นเล่น)
คุนๆน่ะเนี้ย
|
|
|
|
|
Date :
2009-12-22 12:09:41 |
By :
parita |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เมื่อเรากลับมาหน้าเพจแรก คีย์เวิร์ด ที่เป้นสีแดง หายไปคะ ทำไงดีคะ
|
|
|
|
|
Date :
2009-12-23 08:51:39 |
By :
kakaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ได้แล้วคะ
|
|
|
|
|
Date :
2009-12-23 09:00:01 |
By :
kakaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอถามอีกนิดนึงนะคะ ถ้าตอนที่ค้นหาข้อมูลมันมีทั้งหมดชื่อเดียวเราให้มันแสดงว่ารวม1แสดง1หน้าแล้วมีแค่หน้าเดียวนะคะไม่ต้องมีไป กลับนะคะ ตอนนี้มันบอกว่ามีข้อมูลทั้งหมด 16 แสดง 4หน้า ทั้งๆที่ตอนค้นหาไม่มีข้อมูลเลยมันก้อยังแสดงนะคะ
|
|
|
|
|
Date :
2009-12-23 09:01:39 |
By :
kakaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
//-------------ค้นหา
if(isset($_POST['text_search']) && trim($_POST['text_search'])!= ""){
$txt_search = $_POST['text_search'];
$search_type = $_POST['search_type'];
echo "<br>".$search_type."<br>";
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));
$sql_data .= " LIMIT $page_start, $per_page";
}
else{
$sql_data = "SELECT P_id,Name,Address,Tel,Mobile,Fax,Email,Education,Course,
Institution FROM data ORDER BY P_id desc";
$count = mysql_num_rows(mysql_db_query($dbname,$sql_data));
$sql_data .= " LIMIT $page_start, $per_page";
}
echo $sql_data;
$data_result = mysql_db_query($dbname,$sql_data);
mysql_close ($conn );
?>
รวม <b><?php echo $count; ?></b> แสดงอยู่ <b><?php echo ceil( $count / $per_page );?></b> หน้า
ประมาณนี้มั้ง
|
|
|
|
|
Date :
2009-12-23 10:47:16 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|