بهترین روش ترکیب چند شرط اختیاری در WHERE در MySQL مبتنی بر PHP
Wednesday, 2016 June 29
نویسنده:
Hamid
تعداد بازدید: 4146 بار
#آموزش PHP
امتیاز متوسط: امتیازی داده نشده است
یکی از مشکلات بزرگ در ایجاد یک Query این است که اگر چند Condition (شرط) که همگی اختیاری باشند بخواهند در WHERE قرار بگیرند، این است که اگر اولین شرط خالی باشد، با توجه به اینکه بین شرطها AND درج میشود، دستور با مشکل مواجه میشود.
مثلاً چیزی شبیه به این خواهد شد:
SELECT * FROM users WHERE AND x=$x
مشخص است که بلافاصله بعد از WHERE نباید AND قرار گیرد.
برای رفع این مشکل، برای ساخت where_query_string از این کد الگو بگیرید:
$where = array();
if($A != 'any'){ // or whatever you need
$where[] = "A = $A'";
}
if($B != 'any'){ // or whatever you need
$where[] = "B = $B'";
}
if($C != 'any'){ // or whatever you need
$where[] = "C = $C'";
}
$where_string = implode(' AND ' , $where);
$query = "SELECT * FROM table";
if($where){
$query .= ' ' . $where_string;
}
.
- مطالب مرتبط:
- چگونه گزینه های انتخاب شده یک CheckBox را با کمک inputهای hidden به صفحه سوم منتقل کنیم؟
- در آمدی بر زبان PHP
- نوشتن بر روی عکس با GD در PHP
- آموزش نمایش تاریخ هجری شمسی با استفاده از PHP در صفحات وب
- نکاتی در مورد کار با URL در پی.اچ.پی (Working with addresses in PHP)
- چگونه با PHP از اطلاعات دیتابیس خروجی csv بگیریم که کاراکترها درست نمایش داده شوند؟
- ------------
- بهترین راه درج NOW در MySQL با کمک PHP
- چطور در وبسایت یا وبلاگ خود یک موتور جستجوی مبتنی بر گوگل داشته باشیم؟
- بسط چند جمله ای و بسط تابع گویا به کمک استدلال ترکیبیاتی
- چگونه register_globals را بدون دسترسی به php.ini برابر با off یا on کنیم؟
- وب 3.0 دنیایی متفاوت [Web 3.0]
ارسال سؤال یا نظر

English
العربی
Swedish
François
