เทคนิค 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 อย่างง่าย อ่าน 606 09 Dec 09 การรวมไฟล์ javascript หรือไฟล์ css เป็นไฟล์เดียว ด้วย php อย่างง่าย อ่าน 589 16 Oct 09 สร้างฟังก์ชัน php แปลงตัวเลข เป็นข้อความตัวอักษร ภาษาไทย อ่าน 584 23 Nov 09 ทำการ cache หน้าเว็บไซต์ด้วย php class อย่างง่าย อ่าน 579 05 Nov 09 เช็ค บราวเซอร์ Browser ด้วย php อย่างง่าย อ่าน 549 03 Nov 09 php ฟังก์ชันหา IP Address เช็คเพิ่มเติม และประยุกต์ บล็อก IP อย่างง่าย อ่าน 541 18 Dec 09 สร้างไฟล์ word จาก html ด้วย php class ได้อย่างง่าย อ่าน 519 04 Dec 09 จัดการ Directory สร้าง ลบ เปลี่ยนชื่อ กำหนด permission ผ่าน FTP function ด้วย PHP อ่าน 409 30 Oct 09 ฟังก์ชัน PHP แปลงตัวเลขอาราบิก เป็น ตัวเลขไทย อย่างง่าย อ่าน 376 10 Feb 10 ประยุกต์ สร้าง FTP Function สำหรับการจัดการไฟล์ผ่าน FTP Protocal อ่าน 249 02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 215
จำนวนผู้เยี่ยมชม 88073 คน 2010 © Copyright ninenik.com. All rights reserved.