تالار گفتمان nCIS.ir

نسخه‌ی کامل: دادن مورد های پیشنهادی با PHP و Ajax
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.

ABZiko

سلام، بنده این کد رو از w3schools.com گرفتم :
require_once("User.php");
$user=new User();
$users=$user->getUsers();
foreach ($users as $a) {
     $a['userName'];
} //You get the All 'userName' Fields 

$q = $_REQUEST["q"];

$hint = "";

if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            } else {
                $hint .= ", $name";
            }
        }
    }
}

echo $hint === "" ? "No Suggestion" : $hint;

?> 
بخش اول رو خودم نوشتم که یک مشکلی دارم، من فقط می خوام نام های کاربری کاربران سایتم رو به یک کاربر در هنگام جستجو پیشنهاد بدم ولی این کد که نوشتم در مورد تمام فیلد ها پیشنهاد می ده، مشکل از چیه؟
یک سوال دیگه هم داشتم، به جای این که بیام از این روش استفاده کنم، بهتر نیست که از PDO و FetchField استفاده کنم؟
user.php رو هم بزار ببینم

ABZiko

(04-03-1394، 04:16 ب.ظ)morrning نوشته: [ -> ]user.php رو هم بزار ببینم

بفرمائید :


public function getUsers()
{
    $sql='SELECT * FROM user';
    return $con=Database::FetchAll($sql);
}
خوب شما آرایه a$ رو درست نساختین. این کد رو تست کنید:
require_once 'User.php';
$user = new User();
$users = $user->getUsers();
$a = array();
foreach ($users as $user) {
    $a[] = $user['userName'];
} //You get the All 'userName' Fields 

$q = $_REQUEST['q'];

$hint = '';

if ($q !== '') {
    $q = strtolower($q);
    $len = strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === '') {
                $hint = $name;
            }
            else {
                $hint .= ", {$name}";
            }
        }
    }
}
echo $hint === '' ? 'No Suggestion' : $hint;