เทคนิค php ค้นหาข้อมูล และ hilight กรณี keyword มากกว่า 1 ค่า

css ของข้อความที่ทำ hilight

<style type="text/css">
span.iHilight{ /* กำหนดรูปแบบ css ของข้อความที่ทำ hilight */
	color:#DA0044;
	background-color:#FFFFCC;
}
</style>

PHP code แนวทางสำหรับนำไปประยุกต์ใช้งาน

<?php
if($_GET['q'] && $_GET['q']!=""){
	$any_keyword=explode(" ",$_GET['q']); // แยกค่า keyword แต่ละตัวออกจากข้อความ หรือประโยคที่ค้นหา
	$patterns=array(); // ตัวแปร array สำหรับเก็บค่า รูปแบบสำหรับค้นหา
	$replacements=array(); // ตัวแปร array สำหรับเก็บค่า รูปแบบสำหรับแทนที่
	$num_keyword=count($any_keyword); // หาค่าจำนวน keyword
	$qMore=""; // ตัวแปร สำหรับเก็บค่า เงื่อนไขคำสั่ง sql
	if($num_keyword>0){ // ตรวจสอบค่า keyword ว่ามากกว่า 0 หรือไม่
		foreach($any_keyword as $key=>$value){ // วนลูปสำหรับกำหนดค่า ตัวแปร ต่างๆ
			$qMore.=" arti_topic like '%".trim($value)."%' or "; // กำหนดรูปแบบสำหรับเงื่อนไขคำสั่ง sql
			$patterns[$key]="/".trim($value)."/i"; // กำหนดรูปแบบสำหรับค้นหา
			$replacements[$key]="<span class=iHilight>".trim($value)."</span>";  // กำหรดรูปแบบสำหรับแทนที่
		}
		$qMore=substr($qMore,0,-3); // ตัดส่วนท้ายของคำสั่ง sql ( ตัด or ส่วนท้ายคำสั่ง sql )
	}
	// คำสั่ง sql สำหรับแสดงข้อมูล
	$q="SELECT * FROM `article` WHERE $qMore   ";
	$qr=mysql_query($q);
	while($rs=mysql_fetch_array($qr)){
		$iTopic=preg_replace($patterns, $replacements, $rs['arti_topic']);  // hilight คำที่ค้นหาในรายการที่แสดง
	}	
}	
?>

บทความในหมวดที่่น่าสนใจ อื่นๆ PHP Learning

15 Nov 09 สร้างลิ้งค์เมนู 2 ภาษา กรณี ไทย อังกฤษ ด้วย php อย่างง่าย อ่าน 571 16 Oct 09 สร้างฟังก์ชัน php แปลงตัวเลข เป็นข้อความตัวอักษร ภาษาไทย อ่าน 557 09 Dec 09 การรวมไฟล์ javascript หรือไฟล์ css เป็นไฟล์เดียว ด้วย php อย่างง่าย อ่าน 555 23 Nov 09 ทำการ cache หน้าเว็บไซต์ด้วย php class อย่างง่าย อ่าน 531 05 Nov 09 เช็ค บราวเซอร์ Browser ด้วย php อย่างง่าย อ่าน 511 03 Nov 09 php ฟังก์ชันหา IP Address เช็คเพิ่มเติม และประยุกต์ บล็อก IP อย่างง่าย อ่าน 507 18 Dec 09 สร้างไฟล์ word จาก html ด้วย php class ได้อย่างง่าย อ่าน 485 04 Dec 09 จัดการ Directory สร้าง ลบ เปลี่ยนชื่อ กำหนด permission ผ่าน FTP function ด้วย PHP อ่าน 384 30 Oct 09 ฟังก์ชัน PHP แปลงตัวเลขอาราบิก เป็น ตัวเลขไทย อย่างง่าย อ่าน 364 10 Feb 10 ประยุกต์ สร้าง FTP Function สำหรับการจัดการไฟล์ผ่าน FTP Protocal อ่าน 210 02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 143
จำนวนผู้เยี่ยมชม 85317 คน 2010 © Copyright ninenik.com. All rights reserved.