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

الموضوع: سؤال حول العمليات الحسابية في php

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

    سؤال حول العمليات الحسابية في php



    السلام عليكم ورحمة الله وبركاته

    مساكم الله بالخير إخواني الكرام

    عندي استفسار حول العمليات الحسابية في الـphp :

    أريد أن أعمل عملية حسابية (جمع أو ضرب ) لعددين بشرط أن تكون الأرقام متغيرات من فورم .

    مثلاً :

    العدد الأول يتم إختياره من قائمة منسدله Select .

    والعدد الثاني يتم كتابته في text field .

    ونحصل على الناتج خارج الفورم

    أفيدوني بارك الله فيكم







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


    كود PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />

    <center>
    <form method="POST">


    <h1>العدد الأول</h1>
    <select name="first-number">
      <option value="">اختر رقم</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> 

    <br />

    <h1>العدد الثاني</h1>
    <input type="text" name="second-number" />

    <br /><br />

    <input type="submit" name="submit" value="إجمع" />

    </form>

    <?php
    if (isset($_POST['submit'])) {

    echo 
    "<h1>النتيجة</h1>";
    echo 
    $_POST['first-number'] + $_POST['second-number'];

    }
    ?>
    </center>







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


    بارك الله فيك أخوي العتيبي

    وزاد الله من علمك ..

    هل هناك طريقة تجعل الأرقام التي يتم كتابتها في الحقول لاتُمسح عند الضغط على submit

    أي أنه عند عملية الجمع تظهر النتيجة ولكن تبقى المدخلات موجوده ؟؟

    تحياتي





    التعديل الأخير تم بواسطة shuqy ; 04-06-2012 الساعة 11:36 AM

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Jun 2010
    المشاركات
    57


    أين أنتم ياخبراء سوالف

    وش فيه المنتدى نايم :con2::con2:






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


    في البرمجة كل شيء ممكن وكم أنتي عظيمة يا IF
    هناك عدة طرق منها :-

    الطريقة الأولى


    "عند الضغط على submit يختفي الفورم والحقول وتظهر النتيجة فقط"

    كود PHP:
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
    <center>
    <?php

    if (empty($_POST['submit'])) { // إذا كانت المدخلات خالية يتم طباعة الفورم

    echo '<form method="POST">

    <h1>العدد الأول</h1>
    <select name="first-number">
      <option value="">اختر رقم</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> 

    <br />

    <h1>العدد الثاني</h1>
    <input type="text" name="second-number" />
    <br /><br />
    <input type="submit" name="submit" value="إجمع" />

    </form>'
    ;
    }

    if (isset(
    $_POST['submit'])) { // إذا تم إرسال البيانات يتم طباعة النتيجة فقط

    echo "<h1>النتيجة</h1>";
    echo 
    $_POST['first-number'] + $_POST['second-number'];

    echo 
    '<br /><br />';
    // زر العودة إلى الخلف - اختياري
    echo '<a href="javascript: history.go(-1)">العودة</a>';

    // هذا الزر بنفس الفعالية وطرحته للفائدة
    //echo '<INPUT TYPE="button" VALUE="العودة" onClick="parent.location=\'ضع رابط الصفحة\'">';

    }
    ?>
    </center>
    </html>
    ---------------------------------


    الطريقة الثانية

    "بإمكانك أن تجعل الفورم في صفحة والنتيجة في صفحة أخرى"

    مثلا
    نجعل صفحة الفورم أسمها form.html
    وصفحة النتيجة أسمها result.php

    أولا الملف: form.html
    كود PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
    <
    center>

    <
    form method="POST" action="result.php">
    <
    h1>العدد الأول</h1>
    <
    select name="first-number">
      <
    option value="">اختر رقم</option>
      <
    option value="1">1</option>
      <
    option value="2">2</option>
      <
    option value="3">3</option>
      <
    option value="4">4</option>
      <
    option value="5">5</option>
      <
    option value="6">6</option>
      <
    option value="7">7</option>
      <
    option value="8">8</option>
      <
    option value="9">9</option>
    </
    select

    <
    br />

    <
    h1>العدد الثاني</h1>
    <
    input type="text" name="second-number" />
    <
    br /><br />
    <
    input type="submit" name="submit" value="إجمع" />

    </
    form>

    </
    center
    لاحظ جيدا هذا الكود
    <form method="POST" action="result.php">

    ثانيا الملف: result.php
    كود PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
    <center>
    <br /><br />
    <?php
    echo "<h1>النتيجة</h1>";
    echo 
    $_POST['first-number'] + $_POST['second-number'];
    ?>
    </center>
    أي تساؤل ولو بسيط لاتتردد





    التعديل الأخير تم بواسطة alotaiby ; 04-06-2012 الساعة 06:26 PM

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Jun 2010
    المشاركات
    57


    جميل ماتفضلت به أخي العتيبي بارك الله فيك

    ولكن الطريقة التي كنت أريدها أن يكون الفورم والنتيجة في صفحة واحدة مثل ماهو الآن ،، وعند الضغط على submit تظهر النتيجة مع بقاء المدخلات في الفورم مثل ماكتبناها لا يتم مسحها من الحقول .

    أرجوا أن تكون فكرتي واضحة .

    تحياتي لك






  7. #7
    عضو نشيط
    تاريخ التسجيل
    Apr 2010
    المشاركات
    63


    لماذا لا تستخدم الـ javascript ببساطة
    كود PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
    <
    script type="text/javascript">
    function 
    cal()
    {
    var 
    a=document.forms['f1']['first-number'].value;//first number
    var b=document.forms['f1']['second-number'].value;// second number
    var x=a*b;

    document.getElementById('n').innerHTML=x;
    }
    </script>
    <center>
    <form id="f1">
    <h1>العدد الأول</h1>
    <select name="first-number">
      <option value="">اختر رقم</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> 

    <br />

    <h1>العدد الثاني</h1>
    <input type="text" name="second-number" /><br /><br />
    <input type="button" onClick="cal()" value="اضرب">
    <br /><br />



    </form>

    <h1><div id="n"></div></h1> 
    واذا كنت مصر على الـ php تستطيع عمل ملف للعمليات الحسابية وجلب النتائج عن طريق الاجاكس او الجي كويري






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


    جميل ماتفضلت به أخي العتيبي بارك الله فيك

    ولكن الطريقة التي كنت أريدها أن يكون الفورم والنتيجة في صفحة واحدة مثل ماهو الآن ،، وعند الضغط على submit تظهر النتيجة مع بقاء المدخلات في الفورم مثل ماكتبناها لا يتم مسحها من الحقول .

    أرجوا أن تكون فكرتي واضحة .

    تحياتي لك
    نشتغل شوية على html من خصائص المدخلات نجعلها readonly أو نجعلها disabled


    تطبيق على الكود
    كود PHP:
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />

    <center>
    <form method="POST">


    <h1>العدد الأول</h1>
    <select name="first-number" <? if ($_POST['submit']) { echo 'disabled="disabled"'; } ?>>
      <option value="">اختر رقم</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> 

    <br />

    <h1>العدد الثاني</h1>
    <input type="text" name="second-number" <? if ($_POST['submit']) { echo 'readonly="readonly" value='.$_POST['second-number']; } ?> />

    <br /><br />

    <input type="submit" name="submit" value="إجمع" />

    </form>
    <?php

    if (isset($_POST['submit'])) {

    echo 
    "<h1>النتيجة</h1>";
    echo 
    $_POST['first-number'] + $_POST['second-number'];

    }
    ?>
    </center>
    </html>
    الله أعلم ممكن فيه طريقة أفضل من طريقتي






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


    لماذا لا تستخدم الـ javascript ببساطة

    واذا كنت مصر على الـ php تستطيع عمل ملف للعمليات الحسابية وجلب النتائج عن طريق الاجاكس او الجي كويري
    كلام سليم لكن يظهر لي أن صاحب الموضوع هدفه زيادة خبرته في php وبخصوص الأجاكس أنا أحرص على طرح الأكواد بأدنى الإمكانات الممكنه حتى تكون مفهومة لصاحب الموضوع والزوار عموما

    وبالفعل الجافاسكربت مناسبة جدا في العمليات الحسابية وأظن أنها تستطيع تحقيق مايريده صاحب الموضوع إذا تم الضغط على submit لايمكن الكتابه على المدخلات
    وذلك من خلال
    كود:
    onClick="this.disabled=true;"
    لكن ماعندي الخبرة الكافيه لعمل ذلك






  10. #10
    عضو نشيط
    تاريخ التسجيل
    Jun 2010
    المشاركات
    57


    أشكرك أخي الكريم hazem-t على تفاعلك معنا في هذا الموضوع

    بالنسبة للإضافة التي أضفتها بالجافا سكربت فهي جميلة وتسلم ايدك عليها

    أما بالنسبة للأجاكس فليس عندي خبرة فيها ،، ياريت لوعندك نموذج للأجاكس يفيدني في هذا العمل أكون شاكر ومقدر لك ذلك لأتعلم منه أنا ويتعلم منه غيري كذلك .

    تحياتي لك

    لماذا لا تستخدم الـ javascript ببساطة
    كود PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
    <
    script type="text/javascript">
    function 
    cal()
    {
    var 
    a=document.forms['f1']['first-number'].value;//first number
    var b=document.forms['f1']['second-number'].value;// second number
    var x=a*b;

    document.getElementById('n').innerHTML=x;
    }
    </script>
    <center>
    <form id="f1">
    <h1>العدد الأول</h1>
    <select name="first-number">
      <option value="">اختر رقم</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> 

    <br />

    <h1>العدد الثاني</h1>
    <input type="text" name="second-number" /><br /><br />
    <input type="button" onClick="cal()" value="اضرب">
    <br /><br />



    </form>

    <h1><div id="n"></div></h1> 
    واذا كنت مصر على الـ php تستطيع عمل ملف للعمليات الحسابية وجلب النتائج عن طريق الاجاكس او الجي كويري







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


    رائعة الخصائص التي أضفتها readonly و disabled أخي العتيبي

    فهي تقوم بعمل ممتاز بارك الله فيك

    وبالنسبة للأجاكس ياريت والله لوتفيدوننا كما تفضلت بإضافة أكواد كاملة كي يستفيد منها الجميع

    أشكركم جميعاً وتحياتي الحارة لكم






  12. #12
    عضو سوبر نشيط
    تاريخ التسجيل
    Jul 2002
    المشاركات
    977


    رائعة الخصائص التي أضفتها readonly و disabled أخي العتيبي

    فهي تقوم بعمل ممتاز بارك الله فيك

    وبالنسبة للأجاكس ياريت والله لوتفيدوننا كما تفضلت بإضافة أكواد كاملة كي يستفيد منها الجميع

    أشكركم جميعاً وتحياتي الحارة لكم
    أنصحك بالتركيز فقط على PHP ولا أنصحك نهائيا بتعلم Ajax أو jQuery وهي كلها قائمة على الجافاسكربت

    لأن قدرتها على المعالجة محدودة وهي عبارة عن لغة مكملة على أساس حركات الدلع في المواقع

    مثل خاصية الإستكمال التلقائي عند البحث
    ومثل بعض المنتديات لو تضيف رد ينزل تلقائيا بدون refresh للصفحة
    وأيضا عند التسجيل في المنتديات إذا وضعت الإسم وسبق لشخص قبلك أن سجل بنفس الاسم يظهر لك التنبيه على طول قبل أن تضغط إرسال

    بالإضافة إلى أنها أحيانا تستخدم إلى جوار css في تصميم المواقع يعني كلها حاجات تكميلية وليست أساسية

    ولابد أن يكون الهيكل الأساسي للموقع بالـ php

    وفوق هذا كله لو كان الجافا متعطل في متصفح الزائر لن تعمل الأكواد نهائيا وكأنها غير موجودة


    عموما هذا تطبيق عملي على جمع رقمين بإستخدام PHP & Ajax
    نحتاج ملفين


    الأول أعطه ماتشاء من الأسماء
    الكود
    كود PHP:
    <html>
    <
    head>
    <
    title>PHP using AJAX</title>
    <
    script type="text/javascript">
     
    var 
    time_variable;
     
    function 
    getXMLObject()  //XML OBJECT
    {
       var 
    xmlHttp false;
       try {
         
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
       
    }
       catch (
    e) {
         try {
           
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
         
    }
         catch (
    e2) {
           
    xmlHttp false   // No Browser accepts the XMLHTTP Object then false
         
    }
       }
       if (!
    xmlHttp && typeof XMLHttpRequest != 'undefined') {
         
    xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera Browsers
       
    }
       return 
    xmlHttp;  // Mandatory Statement returning the ajax object created
    }
     
    var 
    xmlhttp = new getXMLObject();    //xmlhttp holds the ajax object
     
    function ajaxFunction() {
      var 
    getdate = new Date();  //Used to prevent caching during ajax call
      
    if(xmlhttp) {
          var 
    first document.getElementById("first");
        var 
    second document.getElementById("second");
        
    xmlhttp.open("POST","gethint.php",true); // هنا ضع رابط ملف php
        
    xmlhttp.onreadystatechange  handleServerResponse;
        
    xmlhttp.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
        
    xmlhttp.send("first=" first.value "&second=" second.value); //Posting txtname to PHP File
        
      
    }
    }
     
    function 
    handleServerResponse() {
       if (
    xmlhttp.readyState == 4) {
         if(
    xmlhttp.status == 200) {
           
    document.getElementById("message").innerHTML=xmlhttp.responseText//Update the HTML Form element 
         
    }
         else {
            
    alert("Error during AJAX call. Please try again");
         }
       }
    }
    </script>
    <body>
    <form name="myForm">
    <table>
     <tr>
      <td>First Number</td>
      <td><input type="text" name="first" id="first" /></td>
     </tr>
     <tr>
      <td>Second Number</td>
      <td><input type="text" name="second" id="second" /></td>
     </tr>
     <tr>
      <td colspan="2"><input type="button" value="Submit" onclick="ajaxFunction();" /></td>
     </tr>
    </table>
    <div id="message" name="message"></div>
    </form>
    </body>
    </head>
    </html> 
    الثاني لابد أن يكون أسمه gethint.php
    الكود
    كود PHP:
    <?php
    echo "<h1>result :-</h1><pre>";
    echo 
    $_POST['first'] + $_POST['second'];
    ?>






    التعديل الأخير تم بواسطة alotaiby ; 06-06-2012 الساعة 01:18 AM

  13. #13
    عضو نشيط
    تاريخ التسجيل
    Jun 2010
    المشاركات
    57


    بارك الله فيك أخي العتيبي وجزاك الله خيراً

    وأشكر الجميع على تعاونهم وتفاعلهم في الموضوع

    وآسف على تأخير الرد الأخير لدواعي السفر

    تحياتي للجميع










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

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

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