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

السؤال

نشر

اريد اختيار الحجم من جدول المنتج والحجم تمت اضافته الى قاعدة البيانات في صف واحد (مثل الصورة)  بستخدام checkbox ،

622fdcaac6d20_--...png.809c555de26b390bf4ec74a09fa9563a.png

 هل ممكن اني اعمل لها select  في صفحة المنتج وتكون كل قيمة على شكل input radio  او  checkbox   

‏لقطة الشاشة ١٤٤٣-٠٨-١٢ في ٢.٤٥.٣٤ ص.png

Recommended Posts

  • 1
نشر

ملاحظة: تصميم عمود الأحجام يخالف نبادئ تصمي مقواعد البيانات، بحيث كل خلية يجب أن تحوي على قيمة واحدة، إما يكون لدينا 4 أعمدة كل منها من نوع منطقي bool مثلاً تدل على وجود هذا القياس أو مثلا عدد int تدل على كمية القياس نفسه، أو عمل دول فرعي خاص بالقياسات لكل منتج حيث أنه لكل منتج قياس أو أكثر فالعلاقة one to many أي يكون في جدول القياسات عمودين الأول رقم المنتج وهو مفتاح ثانوي، و العمود الثاني هو القياس..

في حالتك، يمكننا تجاهل خطأ التصميم، و قراءة السلسلة النصية ومن ثم تقسيمها حسب الفاصلة، و لكل قياس نقوم بإنشاء عنصر إدخال..

  • نجلب المنتجات باستعلام SQL حسب شرط معين ..
  • نحتاج حلقة للمرور على المنتجات
  • لكل منتج نستخلص سلسلة الأحجام المتاحة
  • explode لتقسيم السلسلة النصية لعناصر مصفوفة حسب محرف ما مثل الفاصلة ,
  • لكل حجم نقوم بإنشاء عنصر input radio له مثلاً
<?php

// اتصال بقاعدة البيانات
$conn = new mysqli($servername, $username, $password, $dbname);
// تحقق من الاتصال
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
// الاستعلام
$sql = "SELECT size, name, * FROM products where id = 13213132";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // طباعة العناصر 
  while($row = $result->fetch_assoc()) {  // لكل منتج

    $productName = $row["name"]; // اسم المنتج
    $productSize = $row["size"]; // سللسة الأحجام
    // explode لتقسيم السلسلة النصية لعناصر مصفوفة حسب محرف 
    $SizesArray = explode (",", $productSize);     // مصفوفة كل عنصر يمثل حجم
	echo '<p> product: {$productName}, available sizes:</p>'
    foreach ($SizesArray as $itemSize) {
      echo '<input name="size" type="radio" value="{$itemSize}" />'
    } 
  }
} else {
  echo "0 results";
}
$conn->close();

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...