محمد المصري12 نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 سلام عليكم الكود كالتالي <select name="name" class="form-control color_select" required> <option >اختيار اللون</option> <!-- بداية استعلام الوان المرياجات --> <?php $meriag = "SELECT `patron_colors`.`id` AS pcID, `patron_colors`.`patron_id` AS pcPID, `patron_colors`.`color_name` AS pcCN, `patron_colors`.`color_count`AS pcCC FROM `patron_colors` INNER JOIN `patron` ON `patron`.`id` = `patron_colors`.`patron_id` INNER JOIN `orders` ON `orders`.`id` = `patron`.`order_id` WHERE `orders`.`id` =$order_id"; $result = $conn->query($meriag); while ($row = $result->fetch_assoc()) { echo '<option class="text-danger color_count" type="buttons" value="' . $row['pcCC'] . ' "> ' . $row['pcCN'] . '</option>'; } ?> </select> ال value بتاعة ال selectbox اللي انا مديها كلاس اسمه color_count واخدة قيمة المتغير row['pcCC'] انا عاوز اللي يتخزن في الداتابيز قيمة الtext اللي بيمثله المتغير row['pcCN'] صورة توضيحية اللي بيتسجل بالداتابيز بياخد القيمتين مش قيمة الخلية المختارة بس كود ال jQuery <script> // Submit Button (function() { 'use strict'; window.addEventListener('load', function() { var forms = document.getElementsByClassName('needs-validation-buttons'); var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } else { var buttons = []; $(".buttons-value").each(function () { buttons.push($(this).val()); }); var colorSelect = $(".color_select option:selected").text(); var colorNumber = $(".colorNumber_input").val(); var countPiece = $(".countPiece").val(); var total = $(".total").val(); console.log(buttons); $.ajax({ url: "requests/orders.php", dataType: 'text', data: { "action": "add_buttons", "order": <?php echo $order_id; ?>, "buttons": buttons, "colorSelect": colorSelect, "colorNumber": colorNumber, "countPiece": countPiece, "total": total }, type: 'post', success: function(data) { if (data == "done") { Swal.fire({ icon: 'success', title: 'تمت الاضافة بفضل الله - قم بتحديث الصفحة بعد الانتهاء', confirmButtonText: 'حسنا', showCloseButton: true }) } else { Swal.fire({ icon: 'error', title: 'حدث خطأ حاول مجددا', confirmButtonText: 'حسنا', showCloseButton: true }); console.log(data); } } }); } form.classList.add('was-validated'); }, false); }); }, false); })(); ايه الحل فضلا اقتباس
1 سمير عبود نشر 26 يوليو 2021 أرسل تقرير نشر 26 يوليو 2021 المشكلة أن السطر: var colorSelect = $(".color_select option:selected").text(); يجلب كل الخيارات المحددة و يقوم بدمج النص الخاص بها في سلسلة نصية. لديك الآن قائمتين و تم تحديد أحمر و أزرق لذلك ناتج السطر أعلاه كان "أحمر أزرق" و هكذا حسب عدد القوائم فلو كانت ثلاثة و قمت بتحديد أحمر و أزرق و أصفر سيكون الناتج "أحمر أزرق أصفر" و هكذا أما حقول الإدخال من النوع number فالسطر: var colorNumber = $(".colorNumber_input").val(); سيتم تخزين قيمة أول حقل يوافق التحديد و هذا ما يتبين من خلال حقول الإدخال تم تخزين القيم الأولى للزر الأول فقط لكل الأزرار. يتوجب عليك تغيير المنطق الذي تعمل به فيجب عليك تخزين كل القيم في مصفوفات و إرسالها عبر طلب ajax مثلما تفعل مع الخاصية buttons بعد تخزين القيم في مصفوفات تقوم بإرسالها لصفحة php و على أساس هذه المصفوفات تقوم بإنشاء السجلات. 1 اقتباس
0 محمد المصري12 نشر 26 يوليو 2021 الكاتب أرسل تقرير نشر 26 يوليو 2021 شاكر افضالك استاذ عبود ، تاعبك دوما معي وصلت الفكرة و ضبطت الحمد لله 1 اقتباس
السؤال
محمد المصري12
سلام عليكم
الكود كالتالي
ال value بتاعة ال selectbox اللي انا مديها كلاس اسمه color_count واخدة قيمة المتغير row['pcCC']
انا عاوز اللي يتخزن في الداتابيز قيمة الtext اللي بيمثله المتغير row['pcCN']
صورة توضيحية
اللي بيتسجل بالداتابيز بياخد القيمتين مش قيمة الخلية المختارة بس
كود ال jQuery
ايه الحل فضلا
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.