PDA

View Full Version : سوال: مشکل در اجرای کد Autocomplete با php و jquery



ghacem.sh
شنبه 22 فروردین 1394, 23:26 عصر
سلام.
حسته نباشید دوستان.عیدتون مبارک.
توی کد زیر در رویداد onclick زمانی که روی متن پیشنهادی کلیک میشه اتفاق خاصی نمیفته.

<?php
// PDO connect *********
function connect() {
return new PDO('mysql:host=localhost;dbname=sym', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}

$pdo = connect();
$keyword = '%'.$_POST['keyword'].'%';
$sql = "SELECT * FROM sym WHERE name LIKE (:keyword) ORDER BY id ASC LIMIT 0, 10";
mysql_query('set names utf8');
$query = $pdo->prepare($sql);
$query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$query->execute();
mysql_query('set names utf8');
$list = $query->fetchAll();
foreach ($list as $rs) {
// put in bold the written text
$name = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['name']);
// add new option
echo '<li onclick="set_item(\''.$rs['name'].'\')">'.$name.'</li>';

}
?>

این در حالی هست که اگر به جای متغیری که آرایه هست($rs) یک مقدار ثابت بزاریم موقع کلیک روی متن پیشنهادی درست کار میکنه.
نمیفهمم مشکل از کجاست..!!!
ممنون میشم جواب بدید.
کد اصلی از اینجا گرفته شده:
http://www.bewebdeveloper.com/tutorial-about-autocomplete-using-php-mysql-and-jquery
منتظر جوابتونم

hamedarian2009
شنبه 22 فروردین 1394, 23:43 عصر
سلام حتما چیزی ارسال نمیشه که وقتی دستی میزارین کار میکنه کد ای جکسی که نوشتین رو هم بزارین

ghacem.sh
دوشنبه 24 فروردین 1394, 21:23 عصر
سلام مجدد.
ببین دوست عزیز خط زیر:
echo '<li onclick="set_item(\''.$rs['name'].'\')">'.$name.'</li>';
مقدار $rs['name'] رو به تابع زیر میفرسته:


function set_item(item) {
// change input value
$('#country_id').val(item);
// hide proposition list
$('#country_list_id').hide();
}


مشکل اینجاست که برای متن های با کاراکتر انگلیش متغیر ارسال میشه ولی برای کاراکتر های فارسی رویداد onclick اصلا متغیرو به set_item نمیفرسته
حالا سوال:
آیا روشی هست که داده فارسی رو قبل از ارسال یونیکد یا کاری شبیه اون بکنیم تا موقع ارسال به حروفش گیر نده؟
ممنون...منتظرم