تمام فهمت المطلوب والعمل على مثال بسيط لتوضيح طريقة لعمل المطلوب، وتجدها في الشيفرة التالية وتجد شرح في التعليقات بجانب كل سطر.
طبعاً هذا مثال وعليك مراعاة تغيير اسم الخادم وقاعدة البيانات واسم المستخدم وكلمة المرور للإتصال بقاعدة البيانات كما هو موضح في التعليقات، وحفظ الملف بالإمتداد (.php).
كود PHP:
<!DOCTYPE html>
<html lang="en-US" dir="rtl">
<head>
<title>إضافة مستخدم</title>
<meta charset="utf-8">
</head>
<body>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") { // فحص إذا كانت هناك بيانات مرسلة
if (!empty($_POST["mydata"])) { // التأكد من أن البيانات القادمة من مربع النص غير فارغة
$data = explode("\n", $_POST["mydata"]); // تجزيء بيانات مربع النص إلى مجموعة بيانات اعتماداً على حرف السطر الجديد (\n)، وإنشاء مصفوفة البيانات كل عنصر فيها يمثل سطر من البيانات
$conn = new mysqli("localhost", "username", "password", "database"); // الإتصال بقاعدة البيانات، مع مراعات تغيير اسم الخادم واسم المستخدم وكلمة المرور وقاعدة البيات
if ($conn->connect_error) { // فحص وجود خطأ عند الإتصال بقاعدة البيانات
die("Connection failed: " . $conn->connect_error); // رسالة الخطأ في حال وجود خطأ عند الإتصال بقاعدة البيانات
}
$linenumber = 1; // بادئة لعد السطور (السجلات)
foreach ($data as $line) { // دورة كاملة على كل عنصر من مصفوفة البيانات
$fields = explode(',', $line); // تجزيء سطر البيانات إلى مجموعة بيانات أصغر اعتماداً على حرف الفاصلة (,)، وإنشاء مصفوفة البيانات كل عنصر فيها يمثل حقل في جدول قاعدة البيانات
$sql = "INSERT INTO userdata (Name, Age, Country) VALUES ('" . trim($fields[0]) . "', '" . trim($fields[1]) ."', '" . trim($fields[2]) . "')"; // إدراج حقل الأسم والعمر والبلد في قاعدة البيانات
if ($conn->query($sql) === TRUE) { // فحص نجاح إدراج بيانات السجل
echo "تم حفظ السجل رقم " . $linenumber . "<br>"; // رسالة تفيد بنجاح حفصل السجل في قاعدة البيانات مع إظهار رقم السطر
} else { // إذا فشل في إدراج بيانات السجل
echo "خطأ في السجل رقم (" . $linenumber . "): " . $sql . "<br>" . $conn->error . "<br>"; // رسالة بوجود خطأ عند حفظ سجل البيانات
}
$linenumber++; // زيادة عدد 1 على عدد السطور التي تمت معالجتها والانتقال إلى السطر التالي
}
$conn->close(); // إغلاق الإتصال بقاعدة البيانات
}
}
else {
?>
<h1>إضافة مستخدم</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<textarea name="mydata" rows="10" cols="75">Abdullah, 25, Saudi Arabia
Mohammad, 21, Saudi Arabia
Mahmood, 23, Egypt
Ahmad, 26, Jordan
Nasser, 24, Emarat</textarea>
<br><input type="submit" value="حفظ" style="width: 50px; margin-top: 10px; margin-right: 500px;">
</form>
<?php
}
?>
</body>
</html>
آمل أن يكون هذا المثال التوضيحي مناسب وكافي للإحاطة بمتطلبات تحقيق المطلوب من سؤالك، وآمل إفادتنا في حال نجح الأمر، وفي حال واجهت مشكلة أو استفسار يمكننا مناقشة الأمر هنا.
هذا وبالله التوفيق.