PDA

نسخه کامل مشاهده نسخه کامل : راهنمایی راجع به ساخت قسمت جستجو



farnaz.saeedi
09-12-2011, 22:50
با سلام
دوستان من یه قسمت جستجو تو سایت دارم به این صورت که تو صفحه index یه فرم دارم که شامل فیلدهایی
مثل نام و استان و شهرستان و...است.که کاربر براساس یک یا چند فیلد میتونه جستجو انجام بده
اطلاعات فرم ارسال میشن به صفحه search.تو این صفحه بررسی میشه که اگه همه ی فیلدهای جستجو خالی بود بر میگرده صفحه اصلی و خطا میده
حالا مشکلم اینجاست که چطوری بفهمم کاربر چند تا از فیلدهارو پر کرده و براساس چه فیلدهایی میخاد جستجو انجام بده؟چون میتونه فقط براساس اسم تنها جستجو کنه هم مثلا براساس اسم و استان ...
دستور sql و چطوری باید بنویسم که براساس فیلدهای پر شده جستجو انجام بده؟
با تشکر

moein_ak
09-12-2011, 23:10
خب میتونی این کارو انجام بدی
بدنه کوئری رو مینویسی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد باید برای هر فیلدت یه if بذاری

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در نهایتم پارامترا رو میچسبونی به بدنه اصلی کوئری یا ریدایرکت میکنی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

farnaz.saeedi
09-12-2011, 23:56
در نهایتم پارامترا رو میچسبونی به بدنه اصلی کوئری یا ریدایرکت میکنی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[/QUOTE]
ببخشید من متوجه نشدم.الان اگه کاربر بخواد براساس 2تا فیلد جستجو کنه دقیقا چه sql ی باید بنویسم؟

moein_ak
10-12-2011, 01:50
در نهایتم پارامترا رو میچسبونی به بدنه اصلی کوئری یا ریدایرکت میکنی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ببخشید من متوجه نشدم.الان اگه کاربر بخواد براساس 2تا فیلد جستجو کنه دقیقا چه sql ی باید بنویسم؟[/QUOTE]

دوست عزیز لازم نیست واسه هر جست و جوی کاربر یه کوئری بنویسی
توی اون if هایی که گفتم اگه کاربر یه چیزی تو فیلد جست و جو نوشته باشه میاد توی آرایه ی params و با این آرایه کوئری به صورت داینامیک ساخته میشه

farnaz.saeedi
10-12-2011, 12:36
الان کد من به اینصورته:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکه این خطا رو میده:
Warning: mysql_result() expects parameter 1 to be resource, boolean given

m.m.m5651
10-12-2011, 13:55
پس از ()mysql_query یه or die(mysql_error()) هم بذارید تا ارور ها رو نمایش بده + SELECT و FROM بزرگ باشند بهتره. + WHERE رو هم استفاده نکردید جا افتاده.

farnaz.saeedi
10-12-2011, 14:17
پس از ()mysql_query یه or die(mysql_error()) هم بذارید تا ارور ها رو نمایش بده + SELECT و FROM بزرگ باشند بهتره. + WHERE رو هم استفاده نکردید جا افتاده.
WHERE رو کجا بذارم؟تو sql بالایی یا پایینی؟میشه درستشو بنویسید؟

moein_ak
10-12-2011, 21:02
WHERE رو کجا بذارم؟تو sql بالایی یا پایینی؟میشه درستشو بنویسید؟

حواسم نبود جا افتاد:19:
باید بذاری ته بدنه اصلی کوئری
یعنی این طوری

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در ضمن اگه به برنامه نویسی علاقه داری و چیزی از این موضوع رو نفهمیدی حتما بگو

farnaz.saeedi
11-12-2011, 11:53
حواسم نبود جا افتاد:19:
باید بذاری ته بدنه اصلی کوئری
یعنی این طوری

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر ضمن اگه به برنامه نویسی علاقه داری و چیزی از این موضوع رو نفهمیدی حتما بگو
ممنون دوست عزیز مشکلم حل شد