بهترین روش ترکیب چند شرط اختیاری در WHERE در MySQL مبتنی بر PHP
Wednesday, 2016 June 29
نویسنده:
Hamid
تعداد بازدید: 3812 بار
#آموزش 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 بگیریم که کاراکترها درست نمایش داده شوند؟
- ------------
- نکاتی در مورد مشکلات رشتهها و utf8 در زبان PHP
- نکات امنیتی در طراحی نرم افزارهای تحت وب (pdf) [با پیشفرض PHP]
- وب 3.0 دنیایی متفاوت [Web 3.0]
- چگونه register_globals را بدون دسترسی به php.ini برابر با off یا on کنیم؟
- بسط چند جمله ای و بسط تابع گویا به کمک استدلال ترکیبیاتی
ارسال سؤال یا نظر