ช่วยหน่อยคับ เรื่อง autocomplete ภาษาไทย หมดปัญญาแล้ว ขอบคุณคับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยหน่อยคับ เรื่อง autocomplete ภาษาไทย หมดปัญญาแล้ว ขอบคุณคับ
ตามภาพเลยคับ
ปัญหาคือเวลาที่เครื่อง PC ธรรมดา จำลอง server เอามันได้คับ
แต่ทำไม่กอปไป server จิง มันเป็นดังภาพคับ ทั้งๆที่ code เหมื่อนกันหมดทุกอย่าง datebase mysql charecter ก็เซตเหมือนกันทุกอย่าง ช่วยดูให้หน่อยคับงงจิงๆ ขอบคุณล่วงหน้านะคับผม
code ของ ผม
<?
include ("config_password.php");
?>
<script type="text/javascript" src="autocomplete.js"></script>
<link rel="stylesheet" href="autocomplete.css" type="text/css"/>
<?php
// เชื่อมต่อฐานข้อมูล
$link=mysql_connect("localhost","root","$config_password") or die("error".mysql_error());
mysql_query("set character set tis620");
mysql_select_db("petition_legal",$link);
$q=(isset($_POST["q"])) ? $_POST["q"] : $_GET["q"];
$q = iconv('UTF-8','TIS-620',$q); //แปลงจาก UTF8 เป็น TIS620
$pagesize = 50; // จำนวนรายการที่ต้องการแสดง
$table_db="contactperson"; // ตารางที่ต้องการค้นหา
$find_field="idcard"; // ฟิลที่ต้องการค้นหา
$sql = "select x.*,y.name from $table_db x LEFT JOIN title y ON y.tid = x.title where locate('$q', x.$find_field) > 0 order by locate('$q', x.$find_field), x.$find_field limit $pagesize";
$results = mysql_query($sql);
while ($row = mysql_fetch_array( $results )) {
$id = $row["conperid"]; // ฟิลที่ต้องการส่งค่ากลับ
$name = ucwords( strtolower( $row["idcard"] ) ); // ฟิลที่ต้องการแสดงค่า
$name_1 = ucwords( strtolower( $row["cfname"] ) ); // ฟิลที่ต้องการแสดงค่า
$name_2 = ucwords( strtolower( $row["clname"] ) ); // ฟิลที่ต้องการแสดงค่า
$title_2 = ucwords( strtolower( $row["name"] ) ); // ฟิลที่ต้องการแสดงค่า
// ป้องกันเครื่องหมาย '
$name = str_replace("'", "'", $name);
$name_1 = str_replace("'", "'", $name_1);
// กำหนดตัวหนาให้กับคำที่มีการพิมพ์
$display_name = preg_replace("/(" . $q . ")/i", "<font color=red><b>$1</b></font>", $name);
//--------------------------------------แปลงกลับจาก tis620->utf8----------------------------------------------//
$name = iconv('TIS-620', 'UTF-8', $name);
$id = iconv('TIS-620', 'UTF-8', $id);
$display_name = iconv('TIS-620', 'UTF-8', $display_name);
$title_2 = iconv('TIS-620', 'UTF-8', $title_2);
$name_1 = iconv('TIS-620', 'UTF-8', $name_1);
$name_2 = iconv('TIS-620', 'UTF-8', $name_2);
echo "<li onselect="this.setText('$name').setValue('$id');">$display_name ==> $title_2$name_1 $name_2</li>"; //
}
mysql_close();
?>
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ