الذي قمت بفعله هو ما يلي :
كود PHP:
// سبحانه الله وبحمده , سبحان الله العظيم , اللهم صل وسلم وبارك عل ىعبدك ورسولك محمد //عدد كل شيء ومل كل شيء.
// الهدف من هذه الشيفرة البرمجية , ارجاع قيم متغيرات اي استعلام يرسل إلى الصفحة //باستخدام $_GET,$_POST< ,,, الخ, ومن ثم التأكد من صلاحية القيم للأن يستعلم بدلالتها من //قاعدة البيانات بألا تكون قيم اي منها "","0" ... ومن ثم كتابة عبارة استعلام صحيحة 100% //,وتنفيذها.
//هذا التطبيق مفيد في حالات كثيرة ,,,, لعلك تستفيد منه , فإذا فعلت فلا تنس ان تحمد الله , ثم //أن تصلي على رسول الله , ثم ان تدعو لي بخير ...
//سبحان ربك رب العزة عما يصفون وسلام على المرسلين والحمد لله رب العالمين.
// ابو عبد الرحمن الدريبي. | الخبر | السعودية.
foreach($_GET as $key => $value){
// هنا نبدأ الحلقة كالمعتاد ...نتصفح كل مفتاح وقيمته ..
// نزيل من المصفوفه المفاتيح والقيم التي لا نرغب فيها , مثلا متغير رقم الصفحة في حال كانت //النتائج ستعرض في صفحات
في هذه الحالة $page//... هذه متغير لا نريده , لا يصلح لأن يكون جزءا من الإستعلام
//
if($key =="page")
{
str_ireplace($key.'='.$value ,"",$key=$value);
}else{
// نتخلص من المفاتيح والقيم التي لها القيم الغير صالحة ,
if($value == '0' || !is_numeric($value))
{
str_ireplace($key.'='.$value ,"",$key=$value);
}else{
//نبني مصفوفتنا الجديده والتي تحتوي على الفماتيح والقيم المراده...
$para[] = $key.'='.$value;
}
}
}
// هذا الشرط مهم جدا لأنه يحدد ماذا كان الإستعلام مشروطا , وسيكون بدلالة where ام لأ ..
// ففي حال كانت المصفوفه فارغة, بحيث ثم تكن القيم المرسله صالحة للإستعلام ...فإن وجود //where في بنية الإستعلام مشكلة ...
// أمر آخر اننا نريد ان نضيف and بين كل زوج قيم ومفاتيح ...
// كل هذا ستقوم به هذه الشيفره البرمجية أدناه ...
if(count($para) >= 2){
$paras = implode(' and ',$para);
}else{
$paras = $para['0'];
}
// بما اننا نتعامل مع صفحات المترونية معروضة للعامه فإننا بالتأكيد لا نريد أن نفشي سر
// أسماء حقول قاعدة البيانات لهم ..
// لذا سنجري هذه الإستراتيجية , بأن نتجول داخل المصفوفة السابقة , ونستبدل كل مفتاح
// باسم الحقل الذي يقابله في قاعدة البيانات ...
$paras =str_ireplace("the received key","the corresponding database field name",$paras);
بالنسبة لي : فأنا ارى أن هذا البرنامج الصغير مفيد كما يلي :
<ol>يقلل حجم الشيفرة البرمجية, في حال اردت ان تقوم بالشيء ذاته من خلال طرق تقليدية أخرة على سبيل المثال :
كود PHP:
if($_GET['X']) == "") || $_GET['Y'] ==0){.....}
</div>- يمكن اعادة استخدامه في صفحاتك, بعد تعديل بسيط إن احتجت إلى تعديله.
- يصلح لأن يكون ضمن شيفرة برمجية تدعم نظام عرض النتائج بصفحات متعددة.
- يوفر الوقت والجهد بلا شك.
- يقلل من نسبة الخطأ حين كتابة الإستعلام , حيث أن ذلك أصبح آليا, فلا تخشى ان تترك فاضة او شرطة او قوس أو ...
- ربما يكون أسرع , بل في غالب الظن هو كذلك, لكن يحتاج إلى اختبار...
هذا ما يحضرني الآن .
وبالنسبة للملف الذي سينفذ الإستعلام فسيكون على هذا المنوال:
كود PHP:
$sql= " select * from `tableX` ";
if(isset($paras) && $paras !==""){
$sql .= " where ".$paras;
}
$sql .= " order by $orderField $order limit $start ,$range ";
$sqlQ = mysql_query($sql);
هذا والله الموفق ...
اتمنى من الإخوة المحترفين ان يفيدونا , وان يطلعونا على وجهات نظرهم بارك الله فيهم , فنحن لا نستغني عن مشورتهم وتوجيههم.
والله الموفق.