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

السؤال

نشر

سلام عليكم

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

<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']

صورة توضيحية

1.thumb.jpg.54e12f9af7c3522e4a7d5d41634c5436.jpg

اللي بيتسجل بالداتابيز بياخد القيمتين مش قيمة الخلية المختارة بس

2.thumb.jpg.24eb332f46626db44fdc034b3e8017cd.jpg

 

كود ال 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);

})();

 

ايه الحل فضلا

Recommended Posts

  • 1
نشر

المشكلة أن السطر:

var colorSelect = $(".color_select option:selected").text();

يجلب كل الخيارات المحددة و يقوم بدمج النص الخاص بها في سلسلة نصية. لديك الآن قائمتين و تم تحديد أحمر و أزرق لذلك ناتج السطر أعلاه كان "أحمر أزرق" و هكذا حسب عدد القوائم فلو كانت ثلاثة و قمت بتحديد أحمر و أزرق و أصفر سيكون الناتج "أحمر أزرق أصفر" و هكذا أما حقول الإدخال من النوع number فالسطر:

var colorNumber = $(".colorNumber_input").val();

سيتم تخزين قيمة أول حقل يوافق التحديد و هذا ما يتبين من خلال حقول الإدخال تم تخزين القيم الأولى للزر الأول فقط لكل الأزرار.

يتوجب عليك تغيير المنطق الذي تعمل به فيجب عليك تخزين كل القيم في مصفوفات و إرسالها عبر طلب ajax مثلما تفعل مع الخاصية buttons بعد تخزين القيم في مصفوفات تقوم بإرسالها لصفحة php و على أساس هذه المصفوفات تقوم بإنشاء السجلات.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...