PDA

View Full Version : سوال: جستجو با دو ورودی و چند شرط



pedramb66
شنبه 23 خرداد 1394, 14:24 عصر
سلام دوستان.
من میخوام دو ورودی از کاربر بگیریم.یکی نام و یکی شهر یا استان یا کشوز.
یک جدول هم دارم که چند تا ستون داره مانند نام و نوع فعالیت و شهر و کشور و...
میخوام ورودی یک که نام هست تو نام و نوع و فعالیت و چندتا چیز دیگه جستجو کنه و ورودی دو هم تو شهر و کشور و استان.
من یک کد نوشتم ولی خوب کار نمیکنه.ممنون میشم راهنماییم کنید.


$q = " select * from tbl where name like '%$word%' or cat LIKE '%$word%' or subdcat LIKE '%$word%' or country LIKE '%$loc%' or city LIKE '%$loc%' ORDER BY RAND()";

Hamed Beyranvand
شنبه 23 خرداد 1394, 14:38 عصر
خوب کار نمیکنه یعنی کلا اجرا نمی شود؟؟؟؟
بهتر توضیح بده اگه خطا میده خطارو اینجا بزار ببنیم.
اگه جواب میده ولی دقیق نیست یه هربار یه فیلد رو حذف کن ببین مشکل کجاست!
یه نمونه صحیح و سالم

SELECT ID, FirstName, LastName FROM Contacts WHERE FirstName LIKE '%" . $name . "%' OR LastName LIKE '%" . $name ."%'

pedramb66
شنبه 23 خرداد 1394, 14:44 عصر
ممنون.
به طور مثال من اگه هر دو فیلد رو پر کنم، فیلد نام رو انگار نادیده میگیره و همه نتایجی که اون شهری که من در فیلد شهر نوشتم رو میاره.
ممنون.

Hamed Beyranvand
شنبه 23 خرداد 1394, 14:47 عصر
طبق این query که فرستادم عمل کنید حتما جواب میده.
یه نکته دیگه اینکه اگر نوع فیلدها از نوع integer هستند از like دیگه استفاده نکن

pedramb66
یک شنبه 24 خرداد 1394, 08:29 صبح
ممنون از شما ولی بازم همون مشکل پابرجاست.
کلا من میخوام نام هایی رو پیدا کنم که اسمش یا گروهش با متنی که نوشتم و تو کشور یا استان یا شهری باشه که نوشتم .

کد را به صورت زیر نوشتم و جواب داد.

select * from tblc where name like '%$word%' or subcat LIKE '%$word%' or cat LIKE '%$word%' AND country LIKE '%$loc%'
ولی میخوام تو ستون های استان و شهر هم جستجو بشه.کلا هم یک جدول دارم.ممنون.

Hamed Beyranvand
یک شنبه 24 خرداد 1394, 09:11 صبح
باید جدول رو از نزدیک ببینم اینطوری نمیشه.
باید trace بشه

pedramb66
یک شنبه 24 خرداد 1394, 09:47 صبح
ممنون.
یک جدول هست شامل ستون هایی مانند:
id,name,category,subcategory,keyword,product,city, country,state
تو صفحه هم دوتا تکس باکس دارم. که یکیش تو city,country و state جدول باید بگرده و یکی دیگه تو بقیه به قیر از id.

132241

imohammad
یک شنبه 24 خرداد 1394, 18:07 عصر
ممنون از شما ولی بازم همون مشکل پابرجاست.
کلا من میخوام نام هایی رو پیدا کنم که اسمش یا گروهش با متنی که نوشتم و تو کشور یا استان یا شهری باشه که نوشتم .

کد را به صورت زیر نوشتم و جواب داد.

select * from tblc where name like '%$word%' or subcat LIKE '%$word%' or cat LIKE '%$word%' AND country LIKE '%$loc%'
ولی میخوام تو ستون های استان و شهر هم جستجو بشه.کلا هم یک جدول دارم.ممنون.

خب شما بعد اسم or دادی!!

pedramb66
دوشنبه 25 خرداد 1394, 08:54 صبح
ممنون دوست عزیز از وقتی که گذاشتید.
خوشبختانه مشکلم با پرانتز گذاری دستور حل شد.

select * from tblc where ((name like '%$word%' or subcat LIKE '%$word%' or cat LIKE '%$word%') AND (country LIKE '%$loc%))'
باز هم ممنون.