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

إضافة بيانات من نموذج HTML إلى جدولين في PHP

Sara Mohammed9

السؤال

كيف اضيف بيانات في html form يحتوي على radio وcheckbox  و select الى جدولين في php وماهي نوع البيانات تكون في الداتا بيس

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

أولاً يجب كتابة الكود الخاص بالاستمارة ويحتوي على عناصر الإدخال التي ترغبين في جمع بياناتها كالتالي:

<form action="process.php" method="POST">
  <label for="name">الاسم:</label>
  <input type="text" id="name" name="name" required><br><br>
  
  <label for="gender">الجنس:</label>
  <input type="radio" id="male" name="gender" value="ذكر" required>
  <label for="male">ذكر</label>
  <input type="radio" id="female" name="gender" value="أنثى" required>
  <label for="female">أنثى</label><br><br>
  
  <label for="hobbies">الهوايات:</label>
  <input type="checkbox" id="hobby1" name="hobbies[]" value="رياضة">
  <label for="hobby1">رياضة</label>
  <input type="checkbox" id="hobby2" name="hobbies[]" value="قراءة">
  <label for="hobby2">قراءة</label><br><br>
  
  <label for="country">الدولة:</label>
  <select id="country" name="country" required>
    <option value="مصر">مصر</option>
    <option value="السعودية">السعودية</option>
    <option value="الإمارات">الإمارات</option>
  </select><br><br>
  
  <input type="submit" value="إرسال">
</form>

ثم كتابة الكود الخاص بخادم PHP مثلاً في ملف باسم process لمعالجة البيانات المرسلة من النموذج ويقوم بإضافتها إلى قاعدة البيانات، واستخدمي MySQL أو أي نظام إدارة قاعدة بيانات آخر، كالتالي:

<?php
// استقبال البيانات من النموذج
$name = $_POST['name'];
$gender = $_POST['gender'];
$hobbies = $_POST['hobbies'];
$country = $_POST['country'];

// تأسيس اتصال قاعدة البيانات
$servername = "localhost";
$username = "اسم_المستخدم";
$password = "كلمة_المرور";
$dbname = "اسم_قاعدة_البيانات";

$conn = new mysqli($servername, $username, $password, $dbname);

// التحقق من وجود أخطاء في الاتصال بقاعدة البيانات
if ($conn->connect_error) {
    die("فشل الاتصال بقاعدة البيانات: " . $conn->connect_error);
}

// إدخال البيانات إلى الجداول
$sql = "INSERT INTO table1 (name, gender, country) VALUES ('$name', '$gender', '$country')";
if ($conn->query($sql) === TRUE) {
    $table1_id = $conn->insert_id;
    
    // إدخال الهوايات إلى جدول آخر
    foreach ($hobbies as $hobby) {
        $sql = "INSERT INTO table2 (table1_id, hobby) VALUES ('$table1_id', '$hobby')";
        $conn->query($sql);
    }
    
    echo "تمت إضافة البيانات بنجاح";
} else {
    echo "حدث خطأ أثناء إضافة البيانات: " . $conn->error;
}

// إغلاق اتصال قاعدة البيانات
$conn->close();
?>

ونوع البيانات الذي يتم تخزينه في قاعدة البيانات يتوقف على التعريف الذي قمت به لجداولك، وفي الكود السابق استخدمت  أنواع البيانات التالية:

  • table1:
  1. name: VARCHAR أو TEXT (اسم العمود حسب التعريف)
  2. gender: VARCHAR أو TEXT
  3. country: VARCHAR أو TEXT
  • table2:
  1. table1_id: INT (الرقم المميز للصف في جدول 1)
  2. hobby: VARCHAR أو TEXT

وعليك استبدال "اسم_المستخدم" و"كلمة_المرور" و"اسم_قاعدة_البيانات" بمعلومات اتصال قاعدة البيانات لديك.

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

  • 0

استعمال أحد الحقول radio وcheckbox  و select يحدده في الغالب نوع البيانات المتعامل معه ومنطقنا في تبسيط هاته البيانات له.

يختلف طبعا تعاملك مع هاته البيانات او طريقة هيكلتك لها، ولكن عموما نعتمد كل نوع من أنواع هاته الحقول: 

  • radio عند التعامل مع بيانات من نوع enum، فعند تحديد جنس المستخدم مثلا نعتمد هذا النوع
  • checkbox عند التعامل مع بيانات من نوع boolean، فعند التحقق من موافقة المستخدم على شروط الاستخدام نعتمد هذا النوع
  • حقل select يستعمل عند التعامل مع بيانات من نوع enum أو عند تحديد قيم لمفاتيح اجنبية. مثال: عند تحديد فئة المنتج نعرض قائمة select بها خيارات الفئات التي نريد الاختيار من بينها

طبعا فإن هذا هو الاستعمال العام لها، قد يختلف بحسب حاجات المستخدم أو حالات الاستخدام.

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...