PDA

نسخه کامل مشاهده نسخه کامل : چطوري باphpحرف به حرف ازdatabaseجستجو كنم(mysql)؟



eli23
05-03-2009, 21:36
سلام.
من يه textfield گذاشتم. حالا كنارش يه ليست كشويي يا jump menu ميذارم واول همه ي اسامي رو از database توي همون ليست كشويي بازيابي ميكنم.حالا ميخوام با زدن حرف به حرف بياد تو همين ليست كشويي براساس همون حروف بازيابي كنه.حرف اولو كه ميزنم اگه دكمه بذارم و اونو بزنم يا Enter فشار بدم كد زير برام search ميكنه ولي ميخوام بدون زدن هيچ دكمه يا Enter اينكارو بكنم.اگه هم چند تا حرفو هم وارد كنم.بازم با زدن دكمه ياEnter جواب ميده ولي من ميخوام بدون زدن كليد اينكارو انجام بده. قطعه كدش اينه:

echo"<input name='stu' type='text' />";
echo"<p align='center'>";
echo"<select name='student'>";
$stu=$_POST['stu'];
$st=$_POST['student'];
$qs="select * from students where stname like '$stu%'";

$re=mysql_query($qs);
if($re && (mysql_num_rows($re)>0)){
while($st0=mysql_fetch_assoc($re)){
$sn0=$st0['stname'];
echo"<option>".$sn0."</option>";
}

}
echo"</select>";

neopersia
06-03-2009, 02:12
اگر میخواید بدون فشار دادن دکمه و بدون رفرش شدن صفحه نتیجه رو از دیتابیس بگیرید باید با ای جکس انجامش بدید
اما باید یه جوری عمل کنید که زیاد به دیتابیس فشار نیاد. مثلاً وقتی که سه چهار تا کاراکتر توی تکست باکس نوشته شد اون موقع یه درخواست با ای جکس بفرستید به سرور و همه مواردی رو که مچ میشن بگیرید در موراد بعدی با اضافه شدن هر کاراکتر با جاوا اسکرپت از اون سطرهایی رو که از سرور گرفته شده چک کنید و هر موردی رو که مچ نشد از لیست حذف کنید
در مورد ای جکس تاپیک توی بخش داینامیک داریم و میتونید به اونجا مراجعه کنید اما اگر توی بخشای جاوا اسکرپتیش مشکل داشتید بگید تا راهنمایی کنیم