PDA

View Full Version : مهم - طراحی سرچ لحظه ای ؟؟



farzad226
جمعه 21 مهر 1391, 17:07 عصر
سلام . من میخوام یک تکست باکس داشته باشم که وقتی کاربر توی اون شروع میکنه به تایپ کلمه یک حالتی توی یک کادر یا هرچیز دیگه نتایج اون تایپ رو نشون بده.

مثلا وقتی کاربر میزنه "کا" برنامه بره توی دیتابیس بگرده و هر چی رو که با "کا" شروع میشه طی یک لیست نشون بده و در صورتی که اون نتایجی که اورده همونی باشه که کاربر دنبالش میگرده بتونه اون گزینه رو انتخاب کنه .

و هرچی کلمه رو بیشتر تایپ میکنه مثلا "کاغ" برنامه بره و هرچی با "کاغ" شروع میشه رو نشون بده و درنهایت مثلا کاربر روی "کاغذ" کلیک کنه و اون فیلد رو انتخاب کنه.

ممنون میشم اگه بگید چجوری میشه اینکارو انجام داد ؟؟؟؟؟

hadgph
جمعه 21 مهر 1391, 17:27 عصر
سلام
اگه در رویدادها تغییر متن تکست باکس ( با دوبار کلیک روی تکست باکس کدش ایجاد میشه) دستور سرچ در دیتابس مورد نظر رو بدی با هر حرفی که در تکس باکس درج میکنی، سرچ در دیتابیست انجام میشه!!

AmirGhasemi
جمعه 21 مهر 1391, 17:44 عصر
سلام بر اين كاربر تازه وارد ما
بله عزيز چان! اين روش شما هم قابل قبوله اما به نظرم شما يك بار اين كد را روي يك سرور بنويس! در يك نرم افزار شبكه اي!!!
بعدش ببين چه بلايي سر سرور مياد!! به نظرم حتما كلاه كاسكت موقع برنامه نويسي سرتون باشه بد نيست! كپسول آتش نشاني هم فراموش نشود!!
براي اين منظور يعني سرچ همزمان بايد از تكنولوژي هايي مثل Ajaxو Javascript استفاده كرد!! البته JQuery هم كارهايي در اين زمينه كرده!!
اما گوگل و ياهو و اينگونه سايت ها در قسمت جستجوي خود از Ajax استفاده كرده اند
كدهايي در اين زمينه زياده اما در بهينه سازي آنها اختلاف هم زياده

farzad226
جمعه 21 مهر 1391, 17:46 عصر
خوب یعنی بیخیال این جور سرچ بشم ؟؟؟
راهی مشابه سراغ دارید معرفی کنید؟

hadgph
شنبه 22 مهر 1391, 19:09 عصر
سلام بر اين كاربر تازه وارد ما
بله عزيز چان! اين روش شما هم قابل قبوله اما به نظرم شما يك بار اين كد را روي يك سرور بنويس! در يك نرم افزار شبكه اي!!!
بعدش ببين چه بلايي سر سرور مياد!! به نظرم حتما كلاه كاسكت موقع برنامه نويسي سرتون باشه بد نيست! كپسول آتش نشاني هم فراموش نشود!!
براي اين منظور يعني سرچ همزمان بايد از تكنولوژي هايي مثل Ajaxو Javascript استفاده كرد!! البته JQuery هم كارهايي در اين زمينه كرده!!
اما گوگل و ياهو و اينگونه سايت ها در قسمت جستجوي خود از Ajax استفاده كرده اند
كدهايي در اين زمينه زياده اما در بهينه سازي آنها اختلاف هم زياده

بیشترمنظور من کارهای دم دستی بود! ولی خووو برا دیتابیسهای بزرگ آره ! کلا کاسکتو خوب اومدی! اونم موقع اجرای کد نه خود برنامه نویسی:بامزه::لبخند:

amirzandi
شنبه 22 مهر 1391, 20:29 عصر
سلام
اگه در رویدادها تغییر متن تکست باکس ( با دوبار کلیک روی تکست باکس کدش ایجاد میشه) دستور سرچ در دیتابس مورد نظر رو بدی با هر حرفی که در تکس باکس درج میکنی، سرچ در دیتابیست انجام میشه!!

چرا راهنمایی اشتباه می کنین مردم رو ؟ رویداد Text_Changed زمانی اجرا می شه ، شما متن رو کامل در تکست باکس وارد کرده باشید.

amirzandi
شنبه 22 مهر 1391, 20:30 عصر
به این کار می گن Online Search ، شما باید از خاصیت AutoComplete در TextBox استفاده کنین...

rezaei_y
شنبه 22 مهر 1391, 22:02 عصر
این هم یک مثال از سایت codeproject
http://s3.picofile.com/file/7526903866/JQ_Autocomplete.rar.html

farzad226
یک شنبه 23 مهر 1391, 07:22 صبح
سلام
اگه در رویدادها تغییر متن تکست باکس ( با دوبار کلیک روی تکست باکس کدش ایجاد میشه) دستور سرچ در دیتابس مورد نظر رو بدی با هر حرفی که در تکس باکس درج میکنی، سرچ در دیتابیست انجام میشه!!


زدم. جواب نداد

farzad226
یک شنبه 23 مهر 1391, 07:23 صبح
به این کار می گن Online Search ، شما باید از خاصیت AutoComplete در TextBox استفاده کنین...
با تشکر فراوان از شما
میشه بیشتر اهنمایی کنید؟

hadgph
یک شنبه 23 مهر 1391, 07:28 صبح
چرا راهنمایی اشتباه می کنین مردم رو ؟ رویداد Text_Changed زمانی اجرا می شه ، شما متن رو کامل در تکست باکس وارد کرده باشید.

!!!!:متعجب: اونوقت از کجا می فهمه که متن کامله یه نه؟؟؟؟ رویداد Text_Changed اسمش رو خودش هست!! یعنی زمانی که تکست تفییر می کنه!!!! این کجاش راهنمایی اشتباهه؟؟؟

farzad226
یک شنبه 23 مهر 1391, 07:29 صبح
این هم یک مثال از سایت codeproject
http://s3.picofile.com/file/7526903866/JQ_Autocomplete.rar.html

اینو زدم کار نمیکرد.

farzad226
یک شنبه 23 مهر 1391, 07:51 صبح
اصلا خاصیت textchenge کار نمیکنه. حتی وقتی حرفی توش تایپ میکنیم هیچ عکس العملی نشون نمیده و اون کدهایی که نوشتم اجرا نمیکنه.چیکار کنمممممم

rezaei_y
یک شنبه 23 مهر 1391, 10:45 صبح
اینو امتحان کن فقط داخل بانک اطلاعاتیش چندتا اسم بیشتر وارد نکردم داخل باکس حروف a وb را واردکن
در ضمن از sql express استفاده کردم

دانلود (http://s1.picofile.com/file/7527243545/JQueryAutoComplete2.rar.html)