PDA

View Full Version : سوال: روش جستجوی پیشرفته



soroush.r70
جمعه 01 فروردین 1393, 19:54 عصر
من برای جستجو در جدول طبق فرمی به صورت از روش زیر استفاده می کنم که بهینه نیست و خیلی حجم کدنویسی زیاد میشه به صورت باید جستجو رو انجام بدم در صورتی که تمام فیلدها به صورت select هستند و انتخاب میشند شاید یکی انتخاب بشه شاید نشه شاید همه انتخاب بشند

در عکس زیر بعضی ها انتخاب میشند بعضی ها هم خوب اهمیت نداره هست

نکته : با pdo نوشتم

تصویر فرم جستجوی من

117196

کدی که من استفاده می کنم :


<?php if($noo =='زمین' && $metrazh=='بین-200-تا-300-متر' && $gheymat=='--- اهمیتی ندارد ---' && $situation=='--- اهمیتی ندارد ---' && $nooo=='--- اهمیتی ندارد ---') { $class=new content; $class->query('select * from `tbl_forosh` where `karbari`=:karbari and metrazh<300 and metrazh>200 order by `id` desc '); $class->bind(':karbari','زمین'); $class->execute(); if(!$class->rowcount()==0) { $row=$class->resultset(); foreach($row as $key => $value) {echo' <div class="EstateBox"> <a href="'.URL.'indexfoor.php?id='.$row[$key]['id'].'"> <div class="ImageBox"> '; if($row[$key]['sold']==1) { echo' <img src="'.images.'Sold.gif" alt="'.$row[$key]['group_name'].'" title="'.$row[$key]['group_id'].'" class="soldimgg"> '; } if($row[$key]['pic'] !='') { echo'<img src="'.upload.''.$row[$key]['pic'].'" alt="'.$row[$key]['group_name'].'" title="'.$row[$key]['group_name'].'">'; } echo' </div> <div class="Details"> <h2> '.$row[$key]['karbari'].' ---- کد '.$row[$key]['group_id'].' </h2> <p><span style="font-size:"13px> '.$row[$key]['group_name'].' </span></p> </div> <div class="DetailsRoll"> <div class="DetailsMetre"> <span class="metre">'.$row[$key]['metr'].'</span> <br> <span>متراژ زمین</span> </div> <div class="DetailsPrice"> <span class="metre">'.$row[$key]['gheymat_kol'].'</span> <br> <span> تومان</span> </div> </div> </a> </div> '; } } else { echo 'موردی یافت نشد'; } }?>

Veteran
جمعه 01 فروردین 1393, 20:08 عصر
اینجارو چک بکن
(http://barnamenevis.org/showthread.php?430992-%D8%A7%D9%85%D9%88%D8%B2%D8%B4-%D9%82%D8%B1%D8%A7%D8%B1-%D8%AF%D8%A7%D8%AF%D9%86-%D8%A7%D9%85%DA%A9%D8%A7%D9%86-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-%D8%B3%D8%A7%DB%8C%D8%AA&p=1935350#post1935350)

soroush.r70
جمعه 01 فروردین 1393, 21:20 عصر
کارمو راه ننداخت کسی از دوستان میتونه مشکل ما رو حل کنه

soroush.r70
شنبه 02 فروردین 1393, 12:59 عصر
کسی راهی نمیدونه

masiha68
شنبه 02 فروردین 1393, 22:19 عصر
$plugsave->do_update('plugin',$_POST,$_POST['id']);
این کار منه که با یه کلاس پی دی او نوشته شده . یعنی ارایه ی پست هرچی توش باشه همون رو اپدیت می کنه و واسه سرچ هم همین کارو می شه کرد . وقتی روی دکمه ی جستجو کلیک می کنی ببین کدوم چک باکس ها ارسال میشن ... اسم هر چک باکس رو مثل همون فیلد توی دیتابیس بزار و بعد با همون ها یه سلکت بزن ...
فک کنم یه کمی گیجت کردم . اگه نفهمیدی بگو بیشتر واست توضیح بدم :)

soroush.r70
شنبه 02 فروردین 1393, 23:23 عصر
قربون دستت میتونی واضح تر بگی با یه مثال کاره ما راه بیفته ممنون

masiha68
یک شنبه 03 فروردین 1393, 00:01 صبح
foreach($_POST as $key=>$row){ if(strlen($row)>2) { $array_key .= ",".$key; $array_value .= ",".$row; }}$ky=explode(',',$array_key);$vl=explode(',',$arr ay_value);$total=array_combine($ky,$vl);

اول از همه اولین مقدار اپشن رو برابر خالی قرار بده که وقتی ارسال شد خالی ارسال بشه . حالا توی کد بالا برسی می کنیم ببینیم کدوم ها ارسال شد . اونایی رو که کاراکترشون از دوتا کمتر باشه با if حذف می شن و در اخر بازم یه ارایه درست می کنیم . حالا توی این ارایه مقادیری وجود داره که مطمئنیم ارسال شده و کاربر می خاد بر اساس اونا سرچ رو انجام بده . حالا فقط Select می مونه و اینکه با استفاده از اون ارایه سلکت مورد نظرت رو بسازی

soroush.r70
یک شنبه 03 فروردین 1393, 12:37 عصر
ولی فرم من به صورت زیره چطور می تونم درستش کنم ممنون میشم یه چیزی بگی کارم راه بیفته با یه مثال


<form id="mydreamsearch" method="POST" action="<?php echo URL; ?>src.php"> <div style="margin-top:5px;padding:10px">

<div class="SearchModule"> <b dir="rtl"> شهر : </b> <select id="EstateType" name="mantaghe"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="ایزدشهر">ایزدشهر</option> <option value="چمستان">چمستان</option> <option value="نور">نور</option> <option value="نوشهر">نوشهر</option> <option value="محمودآباد">محمودآباد</option> <option value="بابلسر">بابلسر</option> </select> <div style="clear:both"></div> </div>


<div class="SearchModule" > <b dir="rtl">نوع ملک :</b> <select id="community" class="store-qty" data-inline="true" name="karbari"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option class="show1" value="ویلا">ویلا</option> <option class="show2" value="زمین">زمین</option> <option class="show3" value="آپارتمان">آپارتمان</option> <option class="show4" value="املاک تجاری">املاک تجاری </option> <option class="show5" value="سالن کارگاه">سالن کارگاه</option> </select> <div style="clear:both"></div> </div> <div class="SearchModule" id="free1a" > <b dir="rtl">کاربری :</b> <select name="situation"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="ساحلی">ساحلی</option> <option value="جنگلی">جنگلی</option> </select> <div style="clear:both"></div> <br> <b dir="rtl">موقعیت :</b> <select id="EstateType" name="situationn"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="شهرک">شهرک</option> <option value="بیرون-شهرک">بیرون-شهرک</option> </select> <div style="clear:both"></div> <br> <b dir="rtl">موقعیت :</b> <select id="EstateType" name="situationnn"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="قواره اول دریا">قواره اول دریا</option> <option value="با فاصله از دریا">با فاصله از دریا</option> </select> <div style="clear:both"></div> <br> <b dir="rtl">قیمت :</b> <select id="EstateType" name="hgheymat"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="تا-سقف-100-میلیون-تومان">تا سقف 100 مبلیون تومان</option> <option value="از-100-تا-200-میلیون-تومان">از 100 میلیون تا 200 میلیون تومان</option> <option value="از-200-تا-300-میلیون-تومان">از 200 میلیون تا 300 میلیون تومان</option> <option value="از-300-تا-500-میلیون-تومان">از 300 میلیون تا 500 میلیون تومان</option> <option value="از-500-تا-1-میلیارد-تومان">از 500 میلیون تا 1 میلیارد تومان</option> <option value="بالای-1-میلیارد-تومان">بالای 1 میلیارد تومان</option> </select> <div style="clear:both"></div>



<br> <b dir="rtl">متراژ :</b> <select id="LandMetre" name="metrazh"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="زیر-200-متر">زیر 200 متر</option> <option value="بین-200-تا-300-متر">بین 200 تا 300 متر </option> <option value="بین-300-تا-500-متر">بین 300 تا 500 متر </option> <option value="بین-500-تا-1000-متر">بین 500 تا 1000 متر </option> <option value="بالای-1000-متر">بالای 1000 متر</option> </select> <div style="clear:both"></div>


<br> <b dir="rtl">زیربنا :</b> <select id="LandMetre" name="metr"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="زیر-80-متر">زیر 80 متر</option> <option value="بین-80-تا-100-متر">بین 80 تا 100 متر </option> <option value="بین-100-تا-130-متر">بین 100 تا 130 متر </option> <option value="بالای-130-متر">بالای 130 متر</option> </select> <div style="clear:both"></div>

<br> <b dir="rtl">تعداد اتاق ها :</b> <select id="LandMetre" name="room"> <option value="--- اهمیتی ندارد ---">--- اهمیتی ندارد ---</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="4 به بالا">4 به بالا</option> </select> <div style="clear:both"></div>

</div>

masiha68
یک شنبه 03 فروردین 1393, 12:47 عصر
کدت رو یجا اپلود کن و واسم پیغام خصوصی کن ...سعی می کنم زود تمومش کنم