اذهب إلى المحتوى
  • 0

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

هياء محمد

السؤال

لدي كود يضيف طلب منتج وبعد الطلب تظهر صفحه لإ دخال الكميه المستلمه ولكن لدي مشكله ان كودي يضيف اخر كميه فمثلا لدي 3 طلبيات وكمياتها مختلفه الكود يضيف اخر كميه مدخله فقط ويضيفها للتوتل ولا يتم الزياده في التوتل بل يغير قيمه التوتل الى الكميه الجديده في كل مره اضيف كميه كيف يمكنني حل هذي المشكله ؟ هل مثلا يمكنني تحديد id الماده لكل مدخل qis في الطلب؟

التوتل لعمل شروط طباعه الطلب المكتمل اذا تساوت التوتال وال q  (qالكميه المطلوبه سابقا)

id هو ايدي المنتج المطلوب 

وoid هو ايدي الطلب كامل

التوتل والqis ديفولت 0 لذلك استخدمت الابديت

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

  $conn->query("UPDATE table SET qis= '" . $qis . "', total='" . $total . "' WHERE idd =$id");
  $total = $total + $qis; //هنا اجمعهم داخل التوتل 

  if ($total == 0) {
    
   //echo= ''
// update العدد=0
}
 
 <table>
                <form method="POST">
                  <tbody>

<?php foreach ($i as $value) : ?>

                      <tr>
                        <td style="display: none"><input type="number" value="<?= $value['id'] ?>" name="id"></td>

                        <th style="width: 110px;">الكود</th>
                        <td style="width: 110px;"><?= $value['code'] ?></td>

                      </tr>
                      <tr>
                        <th>المطلوب في المتجر</th>
                        <td style="width: 110px;"><?= $value['q'] ?>/></td>
                        <th> المستلم في المتجر</th>
                        <td style="width: 110px;">
                          <input type="number" name="qis" id="qis" min="0" value="0" required>
                        </td>
                        <input type="number" name="total" id="total" hidden></td>
                      </tr>

                      <tr>
                      <?php endforeach ?>
                  </tbody>

              </table>
             //submit button
تم التعديل في بواسطة Sam Ahw
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

أعتقد أن الكود المرفق فيه بعض التعديلات عن السؤال، فلم ألاحظ وجود oid أو حتى المتغيّر q في PHP. ولكن في حال كان قصدك عن إضافة القيمة التراكمية للحقل total:

عندما يتم إجراء update سيتم استبدال قيمة الحقل total السابق بالقيمة التي يتم تعديلها ضمن الاستعلام، ولذلك يتم إضافة آخر قيمة للمتغيّر total في السجل لديك.

يمكنك إجراء increment للحقل total من خلال إضافة القيمة التي نرغب بإضافتها بشكل تراكمي على القيمة السابقة للحقل بتنفيذ الاستعلام التالي:

"UPDATE table SET qis= '" . $qis . "', total= total + '" . $total . "' WHERE idd =$id"
                                       ^^^^^^^^^^^^^^^

وبذلك لن يتم تجاهل القيمة الموجودة مسبقاً في الحقل total بل سيتم جميع أي قيمة جديدة إلى القيمة الموجودة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 34 دقائق مضت قال Sam Ahw:

أعتقد أن الكود المرفق فيه بعض التعديلات عن السؤال، فلم ألاحظ وجود oid أو حتى المتغيّر q في PHP. ولكن في حال كان قصدك عن إضافة القيمة التراكمية للحقل total:

عندما يتم إجراء update سيتم استبدال قيمة الحقل total السابق بالقيمة التي يتم تعديلها ضمن الاستعلام، ولذلك يتم إضافة آخر قيمة للمتغيّر total في السجل لديك.

يمكنك إجراء increment للحقل total من خلال إضافة القيمة التي نرغب بإضافتها بشكل تراكمي على القيمة السابقة للحقل بتنفيذ الاستعلام التالي:


"UPDATE table SET qis= '" . $qis . "', total= total + '" . $total . "' WHERE idd =$id"
                                       ^^^^^^^^^^^^^^^

وبذلك لن يتم تجاهل القيمة الموجودة مسبقاً في الحقل total بل سيتم جميع أي قيمة جديدة إلى القيمة الموجودة.

بالنسبه لاي دي oid كنت اقصد idd غلطت بالكتابه 

الq اتسوى له سيلكت من تيبل ثانيه مخصصه لطلب المستخدم واقصد فيها العدد اللي راح اقارنه في التوتال اذا عددهم متساوي او لا

كود التوتال معاي شكرا لك لكن ما زالت لدي مشكله ال qis يدخلها المستخدم وكانها للطلب كامل كيف اقدر احدد ان ال qis لكل ماده؟

الqis هو العدد اللي يدخله المستخدم

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 54 دقائق مضت قال هياء محمد:

كود التوتال معاي شكرا لك لكن ما زالت لدي مشكله ال qis يدخلها المستخدم وكانها للطلب كامل كيف اقدر احدد ان ال qis لكل ماده؟

بهذه الحالة يجب عليك تغيير بنية قاعدة البيانات، لأنه إذا أردت تفصيل الطلبات للحصول على قيم qis لكل طلب أو (مادة) يجب إضافة سجلات منفصلة عند كل طلب ويتم وضعة الكمية qis المفصّلة ضمن هذا السجل، ثم بعدها يمكنك جمع هذه القيم لطلبية محددة والتأكد من أن qis يوافق total لنفس المادة (التي لها id معيّن) كما ذكرت في السؤال.

أنصحك أيضاً في المستقبل بكتابة اسماء الحقول بلغة مفهومة أكثر من الاختصارات qis, q, iid, ... لتصبح (quantity, order_id, item_id,...) حتى نستطيع فهم معنى هذه الحقول ونتمكن من مساعدتك بشكل أفضل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...