دوشنبه 1 آبان 1396 |  عضویت / ورود






[ بخش اصلی آموزشها | افزودن آموزش | داری بیشترین امتیاز | دارای بیشترین بیننده | جدیدترین نظرات ]

بهترین روش ترکیب چند شرط اختیاری در WHERE در MySQL مبتنی بر PHP



این آموزش مربوط است به موضوع آموزش PHP‏ که توسط Hamid در تاریخ: Wednesday, 2016 June 29 ارسال شده است.   |   تعداد بازدید: 971 بار   |   امتیاز متوسط: امتیازی داده نشده است


----------------------------------

یکی از مشکلات بزرگ در ایجاد یک 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;
    }




ارسال سؤال یا نظر
Tutorials ©