• 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سرچ به صورت between در mysql
#1
سلام دوستان.

من در bootstrap از select2 استفاده میکنم.

حالا به یه مشکل برخوردم.

من میخوام همزمان 10 تا شهر رو توو دیتابیسم سرچ کنم.

چطور سمت mysql میتونم سرچ بزنم؟؟؟؟؟
  پاسخ
تشکر شده توسط :
#2
سلام،
یعنی چی همزمان ۱۰ تا شهر رو سرچ کنی؟

اگر منظورت اینه که وقتی کاربر مثلا تایپ کرد 'رش' شما بیای همه اونایی که 'رش' توی حروفشون هست بهش پیشنهاد بدی،
باید از LIKE و % استفاده کنی.

کد:
SELECT name FROM cities WHERE name LIKE '%رش%';
غایب
  پاسخ
تشکر شده توسط : ayoubsys
#3
یعنی بصورت GET مقادیری رو به سمت دیتابیسم میفرستم.
کد پی‌اچ‌پی:
result?dump=&foloor=&area=منطقه+تست+&area=منطقه+تست2+&area=fgfhf+&area=شریعتی+&yo=&room=&min-metr=0&max-metr=5000&min-pric=0&max-pric=360000000 
همونطور که توو url بالا میبینین area چندید مقدار داره.
میخوام تمام این چندین مقدار توو سرچ اعمال بشه.
اما فقط در حال حاضر فقط یکیشون اعمال میشه
  پاسخ
تشکر شده توسط :
#4
می‌تونی از IN استفاده کنی،
کد:
SELECT area FROM test WHERE area IN ('منطقه تست', 'شریعتی', 'fgfhf')

یه نکته دیگه اینه که نمی‌تونی از چندتا (مثلا) area استفاده کنی توی query string. فقط آخری خونده میشه.
باید یه متغیر area بذاری و هر مقدار رو مثلا با کاما جدا کنی.
غایب
  پاسخ
تشکر شده توسط : ayoubsys
#5
من الان آرایه رو گرفتم و مقادیر رو foreach کردم

برای درون IN قرار دادن کاما نیازه.

منم که متغیر هام همه string هستن.

اون کاما رو چطور باید اضافه کنم؟
  پاسخ
تشکر شده توسط :
#6
اساتید گرامی
  پاسخ
تشکر شده توسط :
#7
دوستان همین قسمتم راهنمایی کنین خب.

واقعا هرکار میکنم نمیتونم کاما بذارم.

چون یکی در پایان بیشتر میشه و قبول نمیکنه
  پاسخ
تشکر شده توسط :
#8
نقل قول: اون کاما رو چطور باید اضافه کنم؟
http://php.net/manual/en/function.implode.php
کد:
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : MRCanddy
#9
سلام.
اصلا نیازی به این کار نیست.

وقتی داری آرایه رو میگیری و همون آرایه رو داخل شرط IN قرارمیدی دیگه لازم نیست بهش کاما اضافه کنی که برادر من.

کاما رو زمانی اضافه میکنن که یه int یا string از خارج آرایه بیاد و یا استاتیک باشه

ساختار php آرایه محوره و شما میتونی شروطط رو مستقیم از آرایه بگیری بجز زمانی که قبلش آرایتو foreach کردی که اونم با رعایت یه سری مبانی شدنیه

کد پی‌اچ‌پی:
SELECT area FROM test WHERE area IN ($_GET['area']) 
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان