درخواست راهنمایی برای نوشتن کوئری

Maryam.20

Member
سلام به همه دوستان. :)
من میخوام یه کوئری بنویسم که برام کار سرچ رو انجام بده، یعنی دیتا ها از فرمی میاد که تحت عنوان سرچ هست و این یعنی میتونه بعضی فیلد ها خالی باشه.
مشکل اینجاست که اگه همه فیلدها رو پرنکنم اونها رو با صفر یکی میکنه مثلن وزن رو صفر درنظر میگیره و جستجو میکنه. من میخوام اگه کاربر فیلدی رو پرنکرد با "همه موارد" یکی باشه! یعنی اگه وزن خالی بود روی وزن حساس نشه و بره همه کالاها با همه وزنهارو لیست کنه اگر هم فیلدی پر بود چک کنه با فیلد مربوطش.
وقتی هم از عملگر مقایسه ای "<=" یا ">=" استفاده میکنم بدون توجه به هیچ شرطی میره همه کالا هارو برام لیست میکنه میاره. :cry:

فرم جستجو:
[HTMLS]
<form action="search.php" method="post">

لیست انتخابی:
<select name="select1">
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select><br>
فیلد اول: <input name="field1" type="text"><br>
قیمت : از <input name="min_gheimat" type="text"> تا <input name="max_gheimat" type="text"><br>
ابعاد: از <input name="min_metr" type="text"> تا <input name="max_metr" type="text"> <br>
مساحت: از <input name="min_masahat" type="text"> تا <input name="max_masahat" type="text"><br>
وزن: از <input name="min_vazn" type="text"> تا <input name="max_vazn" type="text"> <br>
<input type="submit" value="جستجو" />


</form>
[/HTMLS]

کوئری:
[PHPS]
mysql_query("
SELECT * FROM `kala`
WHERE (select1 = '{$_POST['select1']}')
AND (field1 = '{$_POST['field1']}')

OR (gheimat > '{$_POST['min_gheimat']}'
AND gheimat < '{$_POST['max_gheimat']}')

OR (metr > '{$_POST['min_metr']}'
AND metr < '{$_POST['max_metr']}')

OR (masahat > '{$_POST['min_masahat']}'
AND masahat < '{$_POST['max_masahat']}')

OR (vazn > '{$_POST['min_vazn']}'
AND vazn < '{$_POST['max_vazn']}')
");
[/PHPS]
 

جدیدترین ارسال ها

بالا