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

السؤال

Recommended Posts

  • 0
نشر

عليك أولاً بكتابة الكود الخاص بالاستمارة form كالتالي:

<form method="POST" action="process.php">
    <select name="option">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
    </select>
    <input type="submit" name="submit" value="إرسال">
</form>

ثم إنشاء ملف PHP يُدعى process.php (أو اسم آخر حسب تفضيلك) لمعالجة البيانات المرسلة من النموذج:

<?php
// تأكدي من أنه تم النقر على زر الإرسال
if (isset($_POST['submit'])) {
    // تحققي من أن تم تحديد قيمة المُدخَل select
    if (isset($_POST['option'])) {
        // قومي بالاتصال بقاعدة البيانات
        $servername = "اسم_الخادم";
        $username = "اسم_المستخدم";
        $password = "كلمة_المرور";
        $dbname = "اسم_قاعدة_البيانات";

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

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

        // استخراج القيمة المُحدَدة من المُدخَل select
        $selectedOption = $_POST['option'];

        // قومي بإدراج القيمة في جدول قاعدة البيانات
        $sql = "INSERT INTO اسم_الجدول (اسم_العمود) VALUES ('$selectedOption')";

        if ($conn->query($sql) === true) {
            echo "تمت إضافة البيانات بنجاح.";
        } else {
            echo "حدث خطأ أثناء إضافة البيانات: " . $conn->error;
        }

        // أغلقي الاتصال بقاعدة البيانات
        $conn->close();
    } else {
        echo "لم يتم تحديد قيمة المُدخَل select.";
    }
}
?>

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

  • 0
نشر

يتم ذلك وفق نفس الفكرة تقريبا، لا اختلاف مع التعامل مع اي حقل مدخلات آخر، اذ ستحتاج: 

  1. قراءة قيمة حقل select المعني باستعمال اسمها كمفتاح لمصفوفة متغيرات الطلب POST_$
  2. خزنها الى متغير محلي او عام
  3. التعامل مع قيمتها بشكل مباشر

مثال عملي: 

$mySelectOption = $_POST['select_field_name'];

exho $mySelectOption;

سيمكن بعد هذا حقن هاته البيانات الى قاعدة البيانات بشكل مباشر: 

$sql = "INSERT INTO my_table(my_column) VALUES ('$mySelectedOption')";

طبعا فإن هذا يقتضي أن يتم ارسال الباينات من الواجهة الامامية بصورة صحيحة، اذ يجب أن يوافق اسم الحقل الاسم المتعرف عليه من الواجهة الخلفية، وكما يجب ان يكون الحقل في نموذج استمارة form طبعا.

  • 0
نشر

قم بإنشاء النموذج HTML الخاص بك وتضمين حقل select الذي يحتوي على الخيارات التي ترغب في إضافتها إلى قاعدة البيانات. على سبيل المثال:

<form method="POST" action="process_form.php">
  <select name="option">
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
  </select>
  <input type="submit" name="submit" value="Submit">
</form>

في ملف PHP المسؤول عن معالجة النموذج (في هذا المثال، process_form.php)، استخدم الاتصال بقاعدة البيانات وقم بإدخال البيانات المستلمة من حقل select إلى الجدول المناسب في قاعدة البيانات. قد يتطلب ذلك استخدام استعلام SQL لإدخال البيانات في الجدول. هنا مثال بسيط:

<?php
// الاتصال بقاعدة البيانات
$dbHost = 'localhost';
$dbUser = 'اسم_المستخدم';
$dbPass = 'كلمة_المرور';
$dbName = 'اسم_قاعدة_البيانات';

$conn = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);

// التحقق من الاتصال
if (!$conn) {
    die("فشل الاتصال بقاعدة البيانات: " . mysqli_connect_error());
}

// استلام القيمة المحددة من حقل select
$selectedOption = $_POST['option'];

// إجراء استعلام SQL لإدخال القيمة في الجدول
$sql = "INSERT INTO اسم_الجدول (اسم_العمود) VALUES ('$selectedOption')";

if (mysqli_query($conn, $sql)) {
    echo "

يرجى التأكد من تعديل المتغيرات الموجودة في الكود أعلاه (مثل اسم المستخدم وكلمة المرور واسم قاعدة البيانات واسم الجدول) لتتوافق مع بيانات قاعدة البيانات الخاصة بك.

هذا هو الأسلوب الأساسي لإضافة قيمة من حقل select إلى قاعدة البيانات باستخدام لغة 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...