PDA

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



samane71
10-03-2013, 22:35
پروژه من به زبان php نوشته شده .من میخوام جستجو بر اساس 4 تا فیلد از جدول های دیتابیسم انجام بشه ( که select رو نوشتم و تو شرط مشکل دارم ) یعنی کاربر هر کودوم از مقادیر رو وارد کرد جستجو بر اساس اون انجام بشه .
اگه تکست باکس نام و نام خانوادگی خالی نبود با نام و نام خانوادگی جستجو کنه ... اگه تکست باکس نام و نام وخانوادگی و موضوع خالی نبودن با این دوتا و الی آخر ... یعنی هر کودوم که خالی نبودن تو جستجو شرکت داده بشن و هر کودوم خالی بودن شرکت داده نشن تو جستجو
.کمک کنید :n28::n28::n28:

dracula_killer
11-03-2013, 01:28
من می تونم کمکتون کنم
اما اول درست باید متوجه شم که شما دنبال چی هستین؟

اینطور که من فهمیدم شما میخواین یه جستجو بر اساس 4 فیلد و یا کمتر داشته باشین؟

نوشتن کدش خیلی آسونه،فقط باید php و دستورات mysql رو بلد باشید

samane71
11-03-2013, 13:42
سلام
پروژه من وب سایت مشاور املاکیه
میخوام جستجو را بر اساس جند مورد انجام بدم
مپلا بر اساس نوع ملک ، نوع واگذاری ، منطقه ملک و تعداد اتاق
میخوام هر کدوم از تکست فیلدا خالی نبودن تو جستجو شرکت داده بشن و هر کودوم خالی بودن شرکت داده نشن تو جستجو

dracula_killer
11-03-2013, 13:57
ببینید من معمولا کد خالص رو تو پست هام نمیذارم،چون معتقدم خود کاربر باید کد بزنه و وظیفم راهنماییه:

فرض می کنیم شما 4تا فیلد داری به نام های f1,f2,f3,f4.
زمانی که کاربر مقادیری رو در این 4 فیلد وارد می کنه و گزینه ی جستجو(submit) رو میزنه.اولین کاری که باید بکنین اینکه تشخیص بدین کدوم فیلد ها خالیه و کدوم نیست.
ساده ترین راهش اینکه یه دستور if بذارین برای چک کردن هر فیلد.از 4تا flag هم واسه این استفاده کنین که هرکودوم پر بود flag مربوط بهش 1 بشه و هر کودوم که خالی بود 0 بشه.

با استفاده از if و این flag ها می تونین خیلی راحت دستورات select خودتون رو انجام بدین.یادتون باشه شما 4تا فیلد دارین،پس 15 حالت جستجو خواهید داشت.واسه ی هر 15تا حالت باید دستورات sqlش رو بنویسید.

این راه حل منه.اگه دوستان دیگه ای هستن که راه بهتری به ذهنشون برسه حتما کمک خواهند کرد.

اگر هم درباره ی این راه حل سوالی داشتین،من در خدمتم

bcmodir
14-04-2013, 22:06
با سلام :
دوست عزیز با دستور case اینکارو انجام بده
case:
اگه نام و نام خانوادگی خالی بود این دستورات رو انجام بده ........اگه پر بود این دستورات ....

atiishpare
15-04-2013, 15:36
باسلام.کاملا ساده س نوشتنش.فقط چند تا دستور sql هستش.هر چک باکسی که مقدار فرستاده بود رو باهاش یه select مینویسی. بعد دو تا دو تا بعد ... آخرین select هر چهارتا رو چک میکنه.
موفق باشی عزیزم