|
|
|
หน้าเว็บแสดงผลภาษาไทยได้ แต่ดึงขอมูลจาก Database ที่เป็นภาษาไทยมาแสดงผลไม่ได้แต่ภาษาอังกฤษกลับแสดงได้ |
|
|
|
|
|
|
|
ทำระบบค้นหาครับ แล้วนำค่าที่อยู่ตารางเดียวกันใน Dadabase มาแสดงผลในหน้าเว็บ [ตามภาพ]
ค้นหาคำว่า thailand ผลลัพธ์ แสดงดังภาพ
แต่พอค้นหาคำอื่นที่เป็นภาษาไทย แล้วมันไม่แสดงผลคับ ทั้งที่อยู่ในตารางเดียวกัน
ค้นหาคำว่า "การสร้างเว็บไซต์อย่างง่าย" ผลลัพธ์ แสดงดังภาพ
ไม่ทราบว่าสาเหตุเกิดจากอะไรหรอคับ แล้วมีวิธีแก้ไขอย่างไรบ้างครับ
Code (Search.php)
<?php
include("connection.php");
$html = '';
$html .= '<li class="result">';
$html .= '<a target="_blank" href="urlString">';
$html .= '<h3>nameString</h3>';
$html .= '</a>';
$html .= '</li>';
// Get Search
$search_string = preg_replace("/[^A-Za-z0-9]/", " ", $_POST['query']);
$search_string = mysql_real_escape_string($search_string);
// Check Length More Than One Character
if (strlen($search_string) >= 1 && $search_string !== ' ') {
// Build Query
$query = 'SELECT * FROM shop_data WHERE shop_name LIKE "%'.$search_string.'%"';
// Do Search
$result = mysql_query($query);
//exit;
while($results = mysql_fetch_array($result)) {
$result_array[] = $results;
}
//exit;
// Check If We Have Results
if (isset($result_array)) {
foreach ($result_array as $result) {
// Format Output Strings And Hightlight Matches
//
$display_name = preg_replace("/".$search_string."/i", "<b class='highlight'>".$search_string."</b>", $result['shop_name']);
$display_url = 'http://google.com';
// Insert Name
$output = str_replace('nameString', $display_name, $html);
// Insert URL
$output = str_replace('urlString', $display_url, $output);
// Output
echo($output);
}
}else{
// Format No Results Output
$output = str_replace('urlString', 'javascript:void(0);', $html);
$output = str_replace('nameString', '<b>ไม่พบหนังสือที่ค้นหา</b>', $output);
$output = str_replace('funcStr', 'Sorry :(', $output);
// Output
echo($output);
}
}
?>
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2015-04-29 23:15:44
|
|
|
|
|
Date :
2015-04-29 23:14:40 |
By :
indy |
View :
975 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Get Search
$search_string = preg_replace("/[^A-Za-z0-9]/", " ", $_POST['query']);
$search_string = mysql_real_escape_string($search_string);
บันทัดสีแดง ทุกอักขระที่ ไม่ไช่ พยัญชนะภาษาอังกฤษและตัวเลขอารบิค จะถูกแทนที่ด้วย วรรค
แล้วภาษาไทยที่ใส่เข้าไปจะยังคงอยู่ไหมครับ
|
|
|
|
|
Date :
2015-04-30 02:28:55 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|