النتائج 1 إلى 15 من 15

الموضوع: [عاجل جداً اً]كيف يتم ارسال قيم radio كمصفوفه وجمعها بصفحه اخرى

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106

    [عاجل جداً اً]كيف يتم ارسال قيم radio كمصفوفه وجمعها بصفحه اخرى



    السلام عليكم ورحمة الله وبركاته كيف يتم ارسال قيمة radio من نموذج
    بحيث هي مصفوفه كما هو التالي

    كود:
    <input type=radio name=q[$i] value=$rows_exam[q_value1] >
    <input type=radio name=q[$i] value=$rows_exam[q_value2] >
    <input type=radio name=q[$i] value=$rows_exam[q_value3] >
    <input type=radio name=q[$i] value=$rows_exam[q_value4] >
    مع العلم ان المتغير q[$i] يتغير من رقم إلى رقم في كل حلقه على الراديو
    بحيث يصبح عني q[1] اربع مرات بحيث يختار العضو قيمة واحده
    اتمنى الافادة كيف استقبال قيمة q[$i] في الصفحة الثانيه
    وكيف يتم جمعها ؟

    اتمنى تكون المشكلة واضحه







  2. #2
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    كل الاجابات ستكون في مصفوفة باسم q
    في الصفحة الهدف
    كود PHP:
    <form method="post">
    what is your favorite programming language?<br/>
    <input type="radio" name = "q[plang]" value="php" />php<br/>
    <input type="radio" name = "q[plang]" value="java" />java<br/>
    <input type="radio" name = "q[plang]" value="python" />python<br/>
    <input type="radio" name = "q[plang]" value="C#" />C#<br/>
    <hr/>
    what is your OS?<br/>
    <input type="radio" name = "q[os]" value="windows 7" />windows 7<br/>
    <input type="radio" name = "q[os]" value="snow leopard" />snow leopard<br/>
    <input type="radio" name = "q[os]" value="ubuntu" />ubuntu<br/>
    <input type="radio" name = "q[os]" value="other" />other<br/>
    <hr/>
    where are you from?<br/>
    <input type="radio" name = "q[location]" value="Asia" />Asia<br/>
    <input type="radio" name = "q[location]" value="Africa" />Africa<br/>
    <input type="radio" name = "q[location]" value="Europe" />Europe<br/>
    <input type="radio" name = "q[location]" value="America" />America<br/>
    <hr/>
    <input type="submit" value="send"/>
    </form>

    <?php
    var_dump
    ($_POST);
    ?>






    التعديل الأخير تم بواسطة ahmad sadiq ; 29-03-2011 الساعة 04:51 AM

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106


    الله يجزاك كل خير احمد صادق

    وظهر لي
    array(1) { ["q"]=> array(5) { [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "0" [5]=> string(1) "0" } }
    لكن كيف اجمع عناصر المصفوفة ؟ !!!

    بحيث ما يظهر الناتج نفس السابق يظهر الرقم بعد ما يجمع ، و انا اسوي له توظيف بطريقتي
    مع شكري وتقديري ..






  4. #4
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    لماذا تريد ان تجمع ما في المصفوفة
    المصفوفة التي يتم ارسالها اسمها q
    ويمكن ان تستخلصها عن طريق
    كود PHP:
    $_POST['q'
    واذا اردت ان تجمع عناصر المصفوفة أو ان تفحصهم يمكن ان تمر عليهم بحلقة تكرار
    ﻹستخلاص اسماء الخلايا في المصفوفة استعمل array_keys

    سامحني لم افهم عليك ماذا تريد ان تجمع ولماذا






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106


    في الحقيقة ، هناك اسئله من القاعدة تحتوي على البيانات التي ذكرت
    وهي تقوم بعمل الاسئلة باستخدام التكرار
    بحيث يكون لكل سؤال خياراته
    q[1] << اسم radio الأربع ( الخيارات ) للسؤال الأول
    q[2] << اسم radio الأربع ( الخيارات ) للسؤال الثاني
    q[3] << اسم radio الأربع ( الخيارات ) للسؤال الثالث
    q[4] << اسم radio الأربع ( الخيارات ) للسؤال الرابع

    والاسئلة كثيرة لكن اريد استقبال قيمة q[$i] في في مصفوفة وطباعت المجموع
    لان قيمها ارقام فقط وهي درجة السؤال عند اختياره للإجابه الصحيحه


    وهذه صفحة الاسئلة

    كود PHP:
    $p=$_GET['p'];
    $sql_exam=mysql_query("select * from quiz where q_exam = '$p' ");
    $i_exam=1;
    $i=0;
    echo 
    "<form action=do_result.php method=post>";

    while(
    $rows_exam=mysql_fetch_array($sql_exam))
    {
    $i=$i+1;
    echo 
    "<table border=1 width=80%>";
    echo 
    "<tr>";
    echo 
    "<td width=15px>$i</td>";
    echo 
    "<td>$rows_exam[q_des]</td>";
    echo 
    "</tr><tr>";
    echo 
    "<td><input type=radio name=q[$i] value=$rows_exam[q_value1]  ></td>";
    echo 
    "<td>$rows_exam[q_txt1]</td>";
    echo 
    "</tr><tr>";
    echo 
    "<td><input type=radio name=q[$i] value=$rows_exam[q_value2] ></td>";
    echo 
    "<td>$rows_exam[q_txt2]</td>";
    echo 
    "</tr><tr>";
    echo 
    "<td><input type=radio name=q[$i] value=$rows_exam[q_value3] ></td>";
    echo 
    "<td>$rows_exam[q_txt3]</td>";
    echo 
    "</tr><tr>";
    echo 
    "<td><input type=radio name=q[$i] value=$rows_exam[q_value4] ></td>";
    echo 
    "<td>$rows_exam[q_txt4]</td>";
    echo 
    "</tr></table>";

    }
    $_SESSION['i']=$i;
    echo 
    "<input type=submit value='حفظ الاختبار'";
    echo 
    "</form>";
    ?> 

    صفحة الاستقبال جربت هذه هي نجحت لكن تعطي خطأ

    كود PHP:
    <?
    session_start
    ();
    echo 
    "<html >";
    include_once(
    '../config.php');
    $sis=$_SESSION['i'];
    $num=;
    for(
    $m=$m<=$sis $m++)
    {
    $num$num $_POST['q'][$m] ;
    }
    echo 
    "نتيجتك هي  $num  وقيمة الاي هي  $_SESSION[i]";


    ?>
    الخطأ هو
    Notice: Undefined offset: 5 in do_result.php on line 9






  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    يعني تريد ان تطبع نتيجة اﻻختبار
    الخطأ هو انه يجب عليك في حلقة التكرار ان تضع
    كود PHP:
    count($_POST['q']) 
    بدلا من sis
    لكن لا أرى انك فحصت اذا كانت اﻻجابة صحيحة ام لا قبل جمعها






  7. #7
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106


    استاذي الكريم جميع قيم الريديو أما صفر أو قيمة السؤال ( عادة درجة )
    مثل التالي ( ماخوذه من القاعدة ) وهي قيم values لـ radio وكل سجل يمثل رقم $i


    انا اريد استقبالها وجمعها بشكل كامل لان الصفر لا تتأثر بالجمع
    سوف يجمعها ولا يتأثر

    اريد جمع قيم المصفوفة q[$i]






  8. #8
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    طيب المفروض التعديل يشتغل

    ===

    بس نص اﻷجوبة يعني حاططهم في أعمدة ثانية؟

    المنطقي انك تحط نصوص اﻻجوبة الاربعة في 4 اعمدة
    واﻻجابة الصحيحة تحطها في عامود
    وتقارن الاجوبة






  9. #9
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106


    الاسئلة عبارة عن اربع اختيارات فقط
    كل سجل يحتوي على قيمة لـ

    كود PHP:
    q[$i
    والاسئلة كثيرة بناءاً على ( عدد الاسئلة متوقفه على العداد $i )

    لكن هل هناك طريقة في استقبال المتغير التالي

    كود PHP:
    q[$i
    والذي يمثل مصفوفه من أجل عملية جمع جميع محتوياته


    حقيقة اشكر لك تفاعلك اخوي احمد صادق واعجز عن شكرك وما تقوم به من محاولات في حل مشكلتي ما يدل الا على شخصيتك الطيبه والمحبه للخير ومساعدة الاخرين

    وتقبل مني كل ودي واحترامي
    :shy:


    ومازلت ابحث عن الحل






  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2005
    المشاركات
    518


    نستطيع سحب نتيجة:

    كود PHP:
    q[$i
    اذا عرفت ماذا يعطينا,

    ضع هذ في صفحة النتائج لنرى ما هي النتيجة
    كود PHP:
    print_r($_POST); 






    __________________
    اللهم أعز الاسلام و المسلمين

  11. #11
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106


    المصفوفة في الصفحة المرسلة
    كود PHP:
    q[$i
    وعند عمل الطباعة في الصفحة المستقبلة

    كود PHP:
    print_r($_POST); 
    فأن الناتج يكون

    Array ( [q] => Array ( [1] => 1 [3] => 1 [4] => 0 [5] => 0 ) )
    لاحظ قيم المصفوفة هي : 1 و 1 و 1 و 0 و 0 اريد جمع هذه لتصبح 3 من 5


    أمل إيجاد طريقة لجمع هذه مع شكري لجميع من يسهم في حل مشكلتي ،،





    التعديل الأخير تم بواسطة ظامي الوجد ; 30-03-2011 الساعة 01:29 AM

  12. #12
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    لجمع القيم في المصفوفة $_POST['q']
    كود PHP:
    echo array_sum($_POST['q']); 






    __________________
    مدونتي

  13. #13
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2005
    المشاركات
    518


    المصفوفة في الصفحة المرسلة


    كود PHP:
    Array ( [q] => Array ( [1] => [3] => [4] => [5] => ) ) 
    لاحظ قيم المصفوفة هي : 1 و 1 و 1 و 0 و 0 اريد جمع هذه لتصبح 3 من 5
    لديك في النتيجة مصفوفة داخل مصفوفة, المصفوفة الأم تحتوي على عنصر واحد هو المصفوفة الداخلية و هي تحتوي على أربع عناصر, انا فهمت انك ترغب باستخراج مجموع نتائج كل سؤال على حدا, جرب هذا في صفحة النتائج:

    كود PHP:
    $q $_POST['q'];  

    foreach(
    $q AS $k => $v){

     echo 
    $k." has ".array_sum($q[$k])." of ".count($q[$k])."<br>\n";
     







    __________________
    اللهم أعز الاسلام و المسلمين

  14. #14
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    106


    لا يسعني الا ان اشكر كل من ساهم معي في حل مشكلتي وافيدكم بأن مشكلتي أنحلت
    مع الأمر

    كود PHP:
    echo array_sum($_POST['q']); 
    واشكر كل من ساهم معي بدون تخصيص
    1- احمد صادق ( اشكرك بشده وبعنف على تعبك معي )
    2- علاء ( اشكرك بشده وبعنف لسعيك معي وحل مشكلتي)
    3- محمود حسين ( اشكرك بشده وبعنف لاني وجدت حلك هو الحل)






  15. #15


    السلام عليكم اخي ممكن ان تضع الشكل النهائي للحل بشكل كامل لاني احتاجه

    جزاك الله الف خير
    لا يسعني الا ان اشكر كل من ساهم معي في حل مشكلتي وافيدكم بأن مشكلتي أنحلت
    مع الأمر

    كود PHP:
    echo array_sum($_POST['q']); 
    واشكر كل من ساهم معي بدون تخصيص
    1- احمد صادق ( اشكرك بشده وبعنف على تعبك معي )
    2- علاء ( اشكرك بشده وبعنف لسعيك معي وحل مشكلتي)
    3- محمود حسين ( اشكرك بشده وبعنف لاني وجدت حلك هو الحل)











ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض