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

السؤال

نشر

سلام عليكم

كود ال jQyery كالتالي 

 

<script>
  // Submit Threads
  (function() {

    'use strict';

    window.addEventListener('load', function() {

      var forms = document.getElementsByClassName('thread');



      var validation = Array.prototype.filter.call(forms, function(form) {

        form.addEventListener('submit', function(event) {

          if (form.checkValidity() === false) {

            event.preventDefault();

            event.stopPropagation();

          }

          else {


            //var id = $('.id').val();

            var id =[];

            var mPriceT = [];

            var supplier = [];

            var BakaraCost = [];

            var user = [];

            $(".id").each(function () {
              id.push($(this).val());
            });

            $(".bakara-cost").each(function () {
              BakaraCost.push($(this).val());
            });

            $(".mPriceT").each(function () {
              mPriceT.push($(this).val());
            });

            $(".supplier").each(function () {
              supplier.push($(this).val());
            });

            $(".user").each(function () {
              user.push($(this).val());
            });

            $.ajax({

              url: "quotation/run.php",

              dataType: 'text',

              data: {

                "action": "thread",

                "order": <?php echo $order_id; ?>,

                "id": id,

                "mPriceT": mPriceT,

                "BakaraCost": BakaraCost,

                "supplier": supplier,

                "user": user
              },

              type: 'post',

              success: function(data) {

                if (data == "done") {

                  Swal.fire({

                    icon: 'success',

                    title: 'تم اضافة السعر بنجاح',

                    confirmButtonText: 'اضغط لتحديث الصفحة',

                    showCloseButton: true

                  }).then((result) => {

                    if (result.isConfirmed) {

                      location.reload();

                    }

                  })
                } else {

                  Swal.fire({

                    icon: 'error',

                    title: 'حدث خطأ - راسل الدعم الفني',

                    confirmButtonText: 'حسنا',

                    showCloseButton: true

                  });

                  console.log(data);

                }

              }

            });

          }

          form.classList.add('was-validated');

        }, false);

      });

    }, false);

  })();
</script>


<!-- ADD RUBBER -->


<script>
  // Submit RUBBER
  (function(event) {

    'use strict';

    window.addEventListener('load', function() {

      var forms = document.getElementsByClassName('rubber-form');

      var validation = Array.prototype.filter.call(forms, function(form) {

        form.addEventListener('submit', function(event) {

          if (form.checkValidity() === false) {

            event.preventDefault();

            event.stopPropagation();

          }

          else {


            //var id = $('.id').val();

            var rubberID =[];

            var kgPrice = [];

            var mcp = [];

            var mPriceT = [];

            var supplier = [];
            //  var user = [];

            $(".rubberID").each(function () {
              rubberID.push($(this).val());
            });

            $(".kgPrice").each(function () {
              kgPrice.push($(this).val());
            });

            $(".mcp").each(function () {
              mcp.push($(this).val());
            });

            $(".mPriceT").each(function () {
              mPriceT.push($(this).val());
            });

            $(".supplier").each(function () {
              supplier.push($(this).val());
            });

            $.ajax({

              url: "quotation/run.php",

              dataType: 'text',

              data: {

                "action": "thread",

                "order": <?php echo $order_id; ?>,

                "rubberID": rubberID,

                "kgPrice": kgPrice,

                "mcp": mcp,

                "mPriceT": mPriceT,

                "supplier": supplier
              },

              type: 'post',

              success: function(data) {

                if (data == "done") {

                  Swal.fire({

                    icon: 'success',

                    title: 'تم اضافة السعر بنجاح',

                    confirmButtonText: 'اضغط لتحديث الصفحة',

                    showCloseButton: true

                  }).then((result) => {

                    if (result.isConfirmed) {

                      location.reload();

                    }

                  })
                } else {

                  Swal.fire({

                    icon: 'error',

                    title: 'حدث خطأ - راسل الدعم الفني',

                    confirmButtonText: 'حسنا',

                    showCloseButton: true

                  });

                  console.log(data);

                }

              }

            });

          }

          form.classList.add('was-validated');

        }, false);

      });

    }, false);

  })();
</script>

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

عندي بالكود السابق سكربتين واحد للنموذج المعرف بال classname  (thread) و التاني معرف بال classname (rubber) 

و دخلت متغيراتهم تمام و مررتها و فصلت بين الاتنين بالشرط action في اللي واخد نفس الاسم thread و rubber 

الان ارفق لحضراتكم كود ال php

<?php
declare(strict_types=1);

include('../includes/db.php');
include('../includes/functions.php');


$action = $_POST['action'];

if ($action == 'thread'){


//Define Variables
$order = $_POST['order'];
$id= $_POST['id'];
$mPriceT = $_POST['mPriceT'];
$supplier = $_POST['supplier'];
$BakaraCost = $_POST['BakaraCost'];
$user = $_POST['user'];

for ($i =0; $i < count($id); $i++){

$q = " UPDATE `order_threads` SET `mPrice` = '$mPriceT[$i]', `BakaraCost` = '$BakaraCost[$i]'  ,`factory` = '$supplier[$i]' , `user` = '$user[$i]'  WHERE `order_id` = $order  && `thread_id` = $id[$i] ;";

try
{
$result = $conn->query($q);
}

catch (Exception $e)
{
var_dump($e->getTrace());
// or to get the full error info, just
var_dump($e);
}

}

if ($result){
echo 'done';
}

}

if ($action == 'rubber'){

//Define Variables
        $order = $_POST['order'];
        $rubberID= $_POST['rubberID'];
        $kgPrice = $_POST['kgPrice'];
        $mcp = $_POST['mcp'];
        $mPriceT = $_POST['mPriceT'];
        $supplier = $_POST['supplier'];


       for ($i =0; $i < count($rubberID); $i++){

//            $q = " UPDATE `order_threads` SET `mPrice` = '$mPriceT[$i]', `BakaraCost` = '$BakaraCost[$i]'  ,`factory` = '$supplier[$i]' , `user` = '$user[$i]'  WHERE `order_id` = $order  && `thread_id` = $id[$i] ;";
           $rubber = "
UPDATE
    `order_rubbers`
SET
    `kgPrice` = '$kgPrice[$i]',
    `mcp` = '$mcp[$i]',
    `mPrice` = '$mPriceT[$i]',
    `factory` = '$supplier[$i]'
WHERE
    `order_id` = $order  && `rubber_id` = $rubberID[$i] ; ";
           try
           {
               $result = $conn->query($rubber);
           }
           catch (Exception $e)
           {
               var_dump($e->getTrace());
               // or to get the full error info, just
               var_dump($e);
           }

       }

        if ($result){
            echo 'done';
        }


}

 

عند التنفيذ في حالة if action = thread  السكربت بياخد الاوردر و بينفذه و بيديني رسالة النجاح و كله زي الفل

المشكلة بقا اني لما ينطلب منه ينفذ حالة  if action = rubber  بيرفض و بيطلب مني اعرفله المتغيرات اللي موجودة في الشرط الاول if action = thread اللي هو ملوش علاقة بيه اصلا

رسالة الكونسول

<br />
<b>Notice</b>:  Undefined index: id in <b>C:\xampp\htdocs\kaka\quotation\run.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>:  Undefined index: BakaraCost in <b>C:\xampp\htdocs\kaka\quotation\run.php</b> on line <b>18</b><br />
<br />
<b>Notice</b>:  Undefined index: user in <b>C:\xampp\htdocs\kaka\quotation\run.php</b> on line <b>19</b><br />
<br />
<b>Warning</b>:  count(): Parameter must be an array or an object that implements Countable in <b>C:\xampp\htdocs\kaka\quotation\run.php</b> on line <b>21</b><br />
<br />
<b>Notice</b>:  Undefined variable: result in <b>C:\xampp\htdocs\kaka\quotation\run.php</b> on line <b>39</b><br />

 

طبعا الحوار ده له حل بدائي جدا و هو اني اعمل ملف php منفصل لكل شرط لكن طبعا ده مش منطقي

ايه الخطأ بتاعي اللي يخلي البرنامج يطالب بمتغيرات خارج حدود الشرط الموضوع له

مع شكري

Recommended Posts

  • 0
نشر

تم اكتشاف الخلل الحمد لله

اسم ال action مكرر و بالتالي الشرط بينفذ اي شئ جواه ال thread ملوش دعوة باي شئ تاني

data: { "action": "thread",

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...