• 0
فراس البزاز

عدم ظهور الكلمات العربية عند البحث باستخدام Ajax (Autocomplete search)

سؤال

السلام عليكم ورحمة الله وبركاته.. 

واجهت مشكلة في PHP& MYSQL  ... لدي قاعدة بيانات تحتوي على بعض معلومات للطلبة عند التسجيل لمدرسة معينة ... من ضمن هذه المعلومات الاسم بالتاكيد ... والاسم يكون مخزون بالعربي ... عند البحث عن اسم معين في الDB يتم استخدام instant search او autocomplete search للبحث عن الاسماء المتاحة والاختيار من بينها ... ولكن المشكلة التي واجهتني هي ان البحث يعمل مع الاسماء المكتوبة باللغة الانكليزية بصورة واضحة ولكن عند البحث عن الاسماء باللغة العربية لايتم ايجاد اي اسم ... استخدمت الترميزUTF-8 و Collation utf8_unicode_ci لكن دون جدوى.

ممكن مساعدة بهذا الخصوص؟؟ 

شكرا جزيلا مقدما

هذا كود HTML

 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>

<meta charset="UTF-8" />



  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.2/bootstrap3-typeahead.min.js"></script>  

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />  

</head>
<body>
<form action="BrAccount.php" method="post" style="width:700px">
<label>Search for a Name: </label> <input type="text" id="name" autofocus="autofocus" name="srchtxt" style="width:150px" > <input type="submit" name="srchbut" value=">>" style="width:40px; height:30px"> <br />  
</body>

<script>
$(document).ready(function(){
 
 $('#name').typeahead({
  source: function(query, result)
  {
   $.ajax({
    url:"searchBR.php",
    method:"POST",
    data:{query:query},
    dataType:"json",
    success:function(data)
    {
     result($.map(data, function(item){
      return item;
     }));
    }
   })
  }
 });
 
});
</script>

وهذا كود ال PHP

<?php
 
$connect = mysqli_connect("localhost", "root", "", "silver-db");
$request = mysqli_real_escape_string($connect, $_POST["query"]);

	mysql_query("set character_set_server='utf8'"); 
    mysql_query("set names 'utf8'");
$query = "SELECT * FROM brregister WHERE name LIKE '%".$request."%'";

$result = mysqli_query($connect, $query);

$data = array();

if(mysqli_num_rows($result) > 0)
{
 while($row = mysqli_fetch_assoc($result))
 {
  $data[] = $row["name"];
 }
 echo json_encode($data);
}

?>

 

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .