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

الموضوع: مَن لـَـها .......

  1. #1
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67

    مَن لـَـها .......



    السلام عليكم
    اخواني المبرمجين ...... الاكارم


    اليوم او تقريبا من قبل كم يوم

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

    صلحت صفحة فيها فورم تتكرر خانات الفورم هذا بواسطة فور لوب
    واسم كل فيلد N1 . N2 .N3 ........... إلخ بحسب دورات اللوب

    الصفحة الأولى P1.php
    كود PHP:
    <form method="POST" action="P2.php">
    <?
    for ($i=1$i<11$i++) {
    echo 
    "<input type=\"text\" size=20 name=\"N$i\">أسم الطالب رقم $i<br>";
    }
    ?>
    <input type="Hidden" size=20 name="all" value="<? echo $i ?>">
    <input type="submit" value="تنفيذ" name="Ps5">
    <form>


    صفحة الطباعه P2.php
    كود PHP:
    <?
    for ($k=1$k<$all$k++) {
    $name="$N1"//هنا حطيت  الحقل الأول المفروض العدد يتغير بحسب قيمة الفور اللي احنا موجودين فيها الان
    //$name="$N$k";  // مثلا ..... وبعد مازبطت صار يطبع ارقام متسلسله 
    echo $name;
    echo 
    "<br>";
    }
    ?>
    ابي يعرض لي الاسماء المدخله في الفورم
    الان يعرض ارقام بس اذا حطيت المتغير


    اطيب تحيه







  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


    السلام عليكم,,,,

    الصفحة الأولى:
    كود PHP:
    <form method="POST" action="P2.php"> 
    <? 
    for ($i=1$i<11$i++) { 
    echo 
    "<input type=\"text\" size=20 name=\"N[]\">أسم الطالب رقم $i<br>";

    ?> 
    <input type="Hidden" size=20 name="total" value="<? echo $i-1 ?>"> 
    <input type="submit" value="تنفيذ" name="Ps5"> 
    <form>
    الصفحة الثانيه:
    كود PHP:
    <? 
    $name 
    $_POST['N']; // مصفوفه يتم استقبالها من الملف الأول
    $total = (int)$_POST['total'];

    for (
    $k=0$k<$total$k++) {
        
    $st_no $k+1;
        
    $st_name = empty( $name[$k] ) ? "لا يوجد" $name[$k];
        echo 
    "الطالب رقم:" $st_no;
        echo 
    " الإسم: " $st_name
        echo 
    "<br>"

    ?>
    نقوم بجعل الحقل الخاص بالاسم كمصفوفه في الملف الأول، و عند قرائتها في الملف الثاني نبدء من index بقيمة صفر..





    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  3. #3
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67


    تسسسسسسسسسسسسسسسلم يدينك والله

    ماقصرت حبيبي

    طبعاً عشان الجميع يستفيدون .. المقصد بهالحركه انه اقدر اضيف كم حقل بالقاعده عن طريق فورم واحد

    ممكن تكون فيه طريق جاهزه لكن فكرت بالفور لوب وان شاء الله انها طريقه سهله

    اذا فيه طريقه اخرى اسهل لاتبخلون علينا






  4. #4
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67


    اخوي جربت الحركه وزبطت بس مافهمتها

    يقولون اذا عطيت الفقير ريال يبي يرجع يطلب منك ريال كل يوم
    واذا علمته صنعه وفهمها يبي يغني نفسه عن السؤال مره ثانيه

    الان بالتحديد في هالسطر
    كود PHP:
    "<input type=\"text\" size=20 name=\"N[]\">
    name=\"N[]\"          // هذي وش تعني ؟؟؟ 
    اتمنى تشرحها لي بالتفصيل لانه مسألة المصفوفات مافهمتها زين
    جربت انا اخلي الفيلد شيك بوكس ومازبطت لأني مافهمت شغلة الادخال وتسلسل اسماء الحقول

    وألف شكر على إهتمامك يالغالي






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


    السلام عليكم....

    هذي ياطويل العمر تعني ان هذا الحقل سيتم استقباله في الملف الآخر كمصفوفه.. يعني مثلا هذا الكود
    كود PHP:
    <input type="text" name="test[]" />
    <
    input type="text" name="test[]" /> 
    عندما يتم ارسال الفورم بطريقة post فان الملف المستقبل لهذا الفورم سيحتوي على المصفوفه التاليه
    كود PHP:
    echo $_POST['test'][0]; // سيطبع ما تم كتابته في الحقل الأول
    echo $_POST['test'][1]; // سيطبع ما تم كتابته في الحقل الثاني 
    المصفوفات يطول شرحها و لكن تفضل هذا الرابط سيفيدك
    http://www.php.net/types.array
    وكذلك جرب البحث في موقع قرية البي اتش بي...

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

    بالنسبة للمصفوفه التي ذكرناها في المثال السابق (N[ ]) فهي مصفوفه رقميه تبدأ من الرقم صفر (لاحظ شرحي للملف الثاني بالأعلى)... يمكن أيضاً أن نحدد قيمة الرقم التي تبدأ منه المصفوفه بالشكل التالي
    كود PHP:
    for ($i=1$i<11$i++) { 
    echo 
    "<input type=\"text\" size=20 name=\"name[$i]\" />إسم الطالب رقم $i"
    وهنا ستكون الحقول في الملف الثاني بالشكل
    كود PHP:
    $_POST['N'][1// يحتوي على المدخل في الحقل الأول
    $_POST['N'][2// يحتوي على المدخل في الحقل الثاني 
    وأعتقد أن هذه الطريقه أصوب من الطريقة السابقه.. فيكون لديك الملفان بالشكل التالي:

    كود PHP:
    <form method="POST" action="P2.php"> 
    <? 
    for ($i=1$i<11$i++) { 
    echo 
    "<input type=\"text\" size=20 name=\"name[$i]\" />إسم الطالب رقم $i";
    echo 
    "<input type=\"checkbox\" name=\"check[$i]\" /><br />";

    ?> 
    <input type="Hidden" size=20 name="total" value="<? echo $i-1 ?>"> 
    <input type="submit" value="أرسل" name="Ps5"> 
    <form>
    والملف الثاني
    كود PHP:
    <? 
    $name 
    $_POST['name']; // مصفوفه يتم استقبالها من الملف الأول 
    $check $_POST['check']; // مصفوفه تكون لها قيمه اذا تم وضع علامة صح على البوكس
    $total = (int)$_POST['total']; 

    for (
    $i=1$i<$total$i++) { 
        
    $st_name = empty( $name[$i] ) ? "لا يوجد" $name[$i]; 
        
    $checked = isset( $check[$i] ) ? "تم تحديده" "لم يتم تحديده";
        echo 
    "الطالب رقم:" $i;
        echo 
    " الإسم: " $st_name;
        echo 
    " " $checked;
        echo 
    "<br>"

    ?>
    ولاحظ أنني قد أضفت اليه خاصيه الشك بوكس... بالنسبة للشك بوكس الوضع مختلف عن ردي السابق، يجب تحديد قيمه الرقم (check[$i]) لكل واحد منها ، وبذلك يتم التعرف عليه اذا قد تم اختياره (isset)... أما لو جعلناها كما هو في المثال لأول (check[ ]) فان الملف المستقبل سيقوم باعادة ترتيب المصفوفه $_POST['check'] وسيعطيك نتيجه غير متوقعه... مهما كن ترتيب الاختيار (مثلا قمت بتحديد رقم 3 و 5) فانه
    كود PHP:
    $_POST['check'][0// ستكون لها قميه
    $_POST['check'][1// ستكون لها قميه
    $_POST['check'][2// لن تكون لها قيمه! وكذلك بالنسبة للبقية لن تكون لها اي قيمه 
    أعتقد أن شرحي بالأعلى غير واضح.. لكن قم بالبحث أكثر عن المصفوفات حتى تستوعبها و راجع الاكواد السابقه وشاهد الفرق بينها.. و قم بالتجربه ثم التجربه وباذن الله ستتضح لك الفكره..

    بوجـــــــــــــبر





    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  6. #6
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67


    تسلم والله بو جبر بيض الله وجهك ماقصرت
    ابي اتعبك معاي شوي
    ياليت تبسط لي باختصار الشيك بوكس
    اذا ابيه يرسل 10 شيك بوكس كما في المثال اللي فوق مع التكست تشيك بوكس

    Name........×



    ويطبع الأسماء اللي محدد عليها واللي ماهي محدده مايطبعها

    وبإذن الله راح نفهم مثالك
    اذا فيه امكانيه تشرح نقاط تكرار اسم التشيك بوكس وطريقة التحقق من قيمته اكون شاكر لك


    ........
    ولايبخلون علينا الاخوان بتعليقاتهم

    اطيب تحيه






  7. #7
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    اسمحلي اخي M-Plus على المداخلة


    المصفوفة بإختصار .. تكون عبارة عن متغير عادي .. يحمل قيم متعددة .. كل قيمة لها رقم او key مثلا القيمة رقم 1 والقيمة رقم 2 .. إلخ

    تفيدك الarrays في تحجيم الكود .. بمعنى أقرب مثال مثالك الذي وضعت عليه الموضوع أساسا .. حلته لك المصفوفات بدون أي تعقيد


    مثال بسيط جدا تستطيع من خلاله إستوضاح فكرة المصفوفات :
    كود PHP:
    <?
    $a
    ="ahmed";
    $b="mohammed";
    $c="ayman";

    // هذه طريقة .. لتعريف 3 قيم .. ويمكنني أن أفعل التالي
    $all=array("ahmed","mohammed","ayman");

    // الآن لو أردت طباعة أحمد
    echo $all[0];

    //محمد
    echo $all[1];

    // أيمن
    echo $all[2];
    ?>
    الفكرة كما ترى .. بدلا من أن أستخدم عدة متغيرات .. أستخدم متغير واحد فقط ! وأستطيع الإشارة لكل قيمة من خلال ترتيبها ( ضع في حسبانك الصفر ! كما ترى في مثال أحمد )


    فالفكرة في المثال الذي في رد أخي M-Plus ..
    أثناء عملية التسجيل .. أو ملىء البيانات .. يتم تعبئة الفورم في مصفوفة . . بحيث يكون هناك متغير واحد يحمل أكثر من قيمة - كما اتفقنا ! -

    ثم يعيد فرز هذه القيم من خلال عبارة for التي تبدأ من 0 إلى $total ( وهو عدد الخانات الكلي )

    أتمنى أن أكون وفقت في الشرح

    للعلم فقط ، لو بحث في أولى مشاركاتي .. ستجد أنني إشتكيت من المصفوفات .. لأنها معقدة !
    ولكن الآن فعلا أعترف .. برنامج بدون مصفوفات .. لا يسوى شيء





    __________________
    SWF Thumbnail - tweet me

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


    السلام عليكم...

    تسلم حبيب قلبي egypttechno على الشرح المبسط، وألف شكر لك

    بالنسبة لسؤالك php student، في الملف الثاني نقوم بعمليه loop التاليه:

    كود PHP:
    for ($i=1$i<$total$i++)
     {
    if (isset( 
    $check[$i] )) // يعني ان هذا البوكس قد تم تحديده
    {
    $st_name = empty( $name[$i] ) ? "لا يوجد" $name[$i]; // يحفظ قيمة "لا يوجد" اذا كان الاسم خاليا في التكست بوكس
    echo "الطالب رقم:" $i;
    echo 
    " الإسم: " $st_name;
    }


    التوضيح: بالنسبة للشك بوكس، فانه في الملف الأول سيكون لديك 10 ولكل منها الاسم (check[1]... check[2]... الخ - ذلك لأننا بدأنا اللوب من رقم 1).. عندما نضغط زر الارسال فان الشك بوكس الذي تم تحديده سيكون معرفا.. اما الذي لم يحدد لن يكون معرفا... لنفرض انك حددت في اختيارك البوكسات 7 و 10... اذا الملف الثاني سيستقبل كلا من
    كود PHP:
    $_POST['check'][7و $_POST['check'][10ستكون معرفة أما البقية فلن تكون معرفة اساسا... 
    لذلك نستخدم isset للتحقق من البوكس الذي تم تحديده
    كود PHP:
    isset($_POST['check']['7']) 
    هذه الداله ستعيد (نعم) اذا كان المتغير رقم 7 في المصفوفه قد تم تعريفه، أو تعيد (لا) إن لم يتم تعريفه..

    أتمنى أن أكون قد أفدتك


    بوجـــــــبر





    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Jul 2003
    المشاركات
    240


    ولزياده الخير خيرين أضيف على كلام أخوي egyptechno.. لقد قام هو مشكورا بشرح المصفوفات الرقميه (integer index).. هنالك نوع آخر من المصفوفات تسمى المصفوفات النصيه (text index).. ونأخذ المثال التالي للتوضيح...

    المصفوفه تحتوي على اسم و سعر مشروبات غازيه وغيرها

    كود PHP:
    $drink = array('pepsi' => 1'tea' => 1'coffee' => 2); // هذه طريقة اخرى لتعريف المصفوفه

    echo $drink['pepsi']; // سيطبع الرقم 1
    echo $drink['tea']; // سيطبع الرقم 1
    echo $drink['coffee']; // سيطبع الرقم 2 
    الرقم الذي في مثال أخوي egyptchno او الاسم في مثالي (pepsi, tea, coffee) يسمى index... وهنا الاختلاف بين المثالين.. ففي مثاله هو index عباره عن رقم ، أما مثالي فهو عباره عن نص...

    المصفوفات جدا مفيده اخي ولابد لك من تعلمها و اتقانها





    __________________
    بوجبر

    http://www.ba7reny.com
    بحريني دوت كوم (موقع صديق)

  10. #10
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67


    ماقصرتو والله


    بس باقي عندي مشكله ازعجتكم ههههههههههههههههه

    كود PHP:
    $name $_POST['name']; 
    $check $_POST['check'];
    $total = (int)$_POST['total']; 

    for (
    $i=0$i<=$total$i++) { 
        
    $st_name $name[$i];
        
    $checked = isset( $check[$i] );  
        if(
    $checked==1){
        echo 
    "($st_name)"." ------- "
        echo 
    " " $checked
        echo 
    "<br>"
    }

    الان انا قلت له اطبع الاسماء المحدده اللي جايه من الفورم
    واذا حددت ثلاث قيم يطبعهم 3 اسماء صح
    بس مايطبع اللي انا حددتهم
    يطبع أول ثلاث اسماء

    يعني عندي 10 اسماء وحددت الرابع والسابع والعاشر

    يطبع لي الاول والثاني والثالث



    ليش ؟






  11. #11
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67


    الللللللف شكر
    الحمد لله حليت المشكله
    حطيت قيمه بداية للمصفوفة في الفورم وزبطت

    الف شكر اخوي M-Plus على مجهودك ألف شكر اخوي Egyptechno

    ماقصرتو الحمد لله طلعت من هالموضوع بفائده كبيره

    اطيب تحيه






  12. #12
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    لدي الحل لك ..

    ولكن أريد التأكد فقط

    أنت عايز فورم يعمل إيه بالضبط ؟

    أسماء وجنب كل إسم checkbox لما يعلم عليه يعرض الإسم ؟ ولا إزاي ؟

    فهمني الفكرة بالكتابة .. وأنا أحولهالك لكود <<< مشروع جديد





    __________________
    SWF Thumbnail - tweet me

  13. #13
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Nov 2005
    المشاركات
    67


    تسلم والله Egyptechno ماقصرت

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

    اذا تبي تنزل الكود عشان يستفيدون الزوار يكون افضل
    لانه الكود اللي انا وصلت له ملخبط شوي بعد الشيل والحط والتعديل
    ياليت تعطينا الكود مبسط وواضح وخفيف



    تسلم يدينك مره اخرى






  14. #14
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    كود PHP:
    <?
    $names
    =array("ahmed","mohammed","Omr");

    if (
    $_POST['GO']){
        if (
    count($check) !== 0){
        foreach(
    $check as $key=>$value){
            echo 
    $value."<br>";
            
    // هنا مجرد سيطبع الأسماء التي تم إختياراها .. ولكن يمكنك أن تنفذ أي أوامر بإعتبار أن الإسم هو المتغير $value
        
    }
    }else{
        echo 
    "قم بإختيار أي إسم";
    }
    }


    echo 
    "<form method='post'>";
    foreach(
    $names as $key=>$value){
        echo 
    "<input type='checkbox' name='check[$key]' value='$value'>$value <br>";
    }
    echo 
    "<br><input type='submit' name='GO' value='Goooooooooo'>";

    الشرح :
    في البداية .. $names .. هذه الأسماء اللي مفروض يتم عرضها للزائر للإختيار منها

    عند الضغط على الزر .. يقوم أولا بالتشييك أنه قد إختار أي إسم فعليا !

    إذا كان بالفعل قد إختار .. يتم طبع ذلك الإسم


    بالتوفيق





    __________________
    SWF Thumbnail - tweet me





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

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

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