الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعده في الكود التالي:

بدأه محمد الجرفي في 16 أبريل 2013 · 4 رد · 671 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي نموذج بحث متعدد أريد معرفة كيف استقبل القيم من كل checkbox وإظهار النتيجه حسب خيارات البحث التي يحددها في النماذج

 

هذا مجلد به ملف php وقاعدة البيانات وملف الاتصال 

 

الملف المعدل لأن الملف السابق كان فيه خطأ بسيط 

 

search.zip

 

أنتظر ردكم يا شباب .....

تم تعديل هذه المشاركة بواسطة محمد الجرفي في 16 أبريل 2013 في 14:22

#2

بما أن الخيارات عبارة عن مربعات CheckBox فستنتقل هذه المعلومات إلى الصفحة الأخرى كمصفوفات من الخيارات وبالتالي يصبح استخدامها سهلاً

 

ويمكنك جعل تلك الصفحة تولد لك عبارة الإستعلام التي تريدها بواسطة الحلقات التكرارية وهذا مثال على ذلك:

 

<?
$query1="SELECT * FROM benefeciaries WHERE ";

if(isset($_POST['checkbox_cat']))
{
$query1=$query1."cat_num IN (".$_POST['checkbox_cat'][0];
for($i=1;$i<sizeof($_POST['checkbox_cat']);$i++)
{
   echo $_POST['checkbox_cat'][$i]."<br>";
    $query1=$query1.",".$_POST['checkbox_cat'][$i];
}
$query1=$query1.") AND ";
}
echo "<br>"; 
echo "<br>"; 


if(isset($_POST['checkbox_neigh']))
{
$query1=$query1."neigh_num IN (".$_POST['checkbox_neigh'][0];
for($i=1;$i<sizeof($_POST['checkbox_neigh']);$i++)
{
   echo $_POST['checkbox_neigh'][$i]."<br>";
    $query1=$query1.",".$_POST['checkbox_neigh'][$i];
}
$query1=$query1.") AND ";
}
echo "<br>"; 
echo "<br>"; 


if(isset($_POST['checkbox_res']))
{
$query1=$query1."res_num IN (".$_POST['checkbox_res'][0];
for($i=1;$i<sizeof($_POST['checkbox_res']);$i++)
{
   echo $_POST['checkbox_res'][$i]."<br>";
    $query1=$query1.",".$_POST['checkbox_res'][$i];
}
$query1=$query1.") AND ";
}
echo "<br>"; 
echo "<br>"; 


if(isset($_POST['checkbox_family']))
{
$query1=$query1."be_familynum IN (".$_POST['checkbox_family'][0];
for($i=1;$i<sizeof($_POST['checkbox_family']);$i++)
{
   echo $_POST['checkbox_family'][$i]."<br>";
    $query1=$query1.",".$_POST['checkbox_family'][$i];
}
$query1=$query1.")";
}
echo "<br>"; 
echo "<br>"; 

echo $query1;
?>

وهذه الصفحة aa.php تحوي المثال السابق بالمرفقات:

aa.rar

#3

شكراً جزيلاً لك أخي الكريم فكرتك ممتازة جداً الله يوفقك

 

التنفيذ أريد أن يكون في نفس الصفحة ويطبع بيانات الجدول benefeciaries بدون تكرار للأسماء بدلاً من طباعة الاستعلام

 

وكيف يتم إضافة التحققات التالية للكود؟ 

 

- كيف أتأكد أن قيمة ( checkbox_cat و checkbox_neigh و checkbox_res و checkbox_family)  ضمن عناصر المصفوفة.

-  كيف أتأكد أن قيمة  ( checkbox_cat و checkbox_neigh و checkbox_res و checkbox_family)  رقمية وليست نص مثلاً

- كيف اتأكد أنه يوجد في عنصر المصفوفة ( checkbox_cat و checkbox_neigh و checkbox_res و checkbox_family) قيمه وليس فارغ

#4

يمكنك استخدام التعليمات السابقة بنفس الصفحة أو بأي صفحة تريدها بشرط أن تحدد عنوان الصفحة التي تريد انتقال المعلومات إليها في الوسم الخاص بتعريف النموذج (بالخاصية Action):

<form id="form1" name="form1" method="post" action="aa.php">

وللتحقق من وجود قيمة يمكنك استخدام الدالة isset وتمرر لها اسم القيمة التي تريد التأكد منها

وللتأكد من أن قيمة معينة تمثل رقماً يمكنك استخدام الدالة is_numeric وتمرر لها القيمة المطلوبة

 

وللاتصال بقاعدة البيانات والحصول على البيانات وطباعتها أنصحك بمراجعة كتاب المدخل إلى لغة PHP  للأخ Abd Allatif (قسم التعامل مع قواعد)

أؤكد لك أنه كتاب رائع وستستفيد منه كثيراً

#5

أشكرك أخي الكريم

مواضيع مشابهة