m_sh نشر 26 أبريل أرسل تقرير نشر 26 أبريل السلام عليكم الاخوة الكرام ارغب بالمساعدة في انشاء كود للبحث داخل جدول قاعدة بيانات بشرط ان تظهر البيانات لحقل واحد فقط 1 اقتباس
1 بلال زيادة نشر 26 أبريل أرسل تقرير نشر 26 أبريل للبحث داخل جدول قاعدة بيانات مع إظهار حقل واحد فقط بناءً على شرط البحث. سأفترض أنك تستخدم MySQL كقاعدة بيانات. <?php // إعداد الاتصال بقاعدة البيانات $servername = "localhost"; // اسم الخادم $username = "root"; // اسم مستخدم قاعدة البيانات $password = ""; // كلمة المرور $dbname = "test_db"; // اسم قاعدة البيانات // إنشاء الاتصال $conn = new mysqli($servername, $username, $password, $dbname); // التحقق من الاتصال if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } // تعيين الترميز لدعم اللغة العربية $conn->set_charset("utf8"); // التحقق من إرسال بيانات البحث if (isset($_POST['search'])) { $search_term = $_POST['search_term']; // استعلام البحث (حماية من SQL Injection باستخدام prepared statements) $sql = "SELECT email FROM users WHERE name LIKE ?"; $stmt = $conn->prepare($sql); $search_term = "%" . $search_term . "%"; // إضافة % للبحث الجزئي $stmt->bind_param("s", $search_term); $stmt->execute(); $result = $stmt->get_result(); // عرض النتائج if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "البريد الإلكتروني: " . $row['email'] . "<br>"; } } else { echo "لا توجد نتائج مطابقة."; } $stmt->close(); } // إغلاق الاتصال $conn->close(); ?> <!-- نموذج HTML لإدخال البحث --> <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>البحث في قاعدة البيانات</title> </head> <body> <h2>البحث في قاعدة البيانات</h2> <form method="POST" action=""> <label for="search_term">أدخل اسم المستخدم للبحث:</label> <input type="text" id="search_term" name="search_term" required> <button type="submit" name="search">بحث</button> </form> </body> </html> هذا الكود كامل بناء على ما تريد. اقتباس
1 Mustafa Suleiman نشر 27 أبريل أرسل تقرير نشر 27 أبريل بتاريخ 1 ساعة قال m_sh: بارك الله فيك اخي بلال ، لكن بنسبة اذا تم ضغط الزر للبحث يتم جلب كل المعلومات اريد تخصيص البحث بحيث اذا كان صندوق البحث فارغ او بهعدد بسيط من الاحرف لايقبل البحث هل استخدمت الكود السابق؟ سأفترض ذلك، ستحتاج إلى إضافة شرط يتحقق من أن حقل البحث ليس فارغًا وعدد أحرفه 3 أو أكثر وبالطبع تستطيع تغيير الرقم كما تريد. وتتوفر دالة mb_strlen() وهي دالة مُدمجة في PHP لحساب طول النص أي عدد الأحرف وتحسب عدد البايتات وليس عدد الأحرف الحقيقية عند استخدام ترميزات متعددة البايت مثل UTF-8 وهو الترميز الخاص باللغة العربية لذا سنستخدمها. وللعلم التحقق يتم على السيرفر، والأفضل إضافة تحقق من خلال الجافاسكربت أيضًا داخل الصفحة لمنع الإرسال قبل التحقق من الإدخال. <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "test_db"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } $conn->set_charset("utf8"); if (isset($_POST['search'])) { $search_term = trim($_POST['search_term']); if (empty($search_term)) { $error = "يرجى إدخال كلمة للبحث!"; } elseif (mb_strlen($search_term, "UTF-8") < 3) { $error = "كلمة البحث يجب أن تكون 3 أحرف على الأقل!"; } else { $sql = "SELECT email FROM users WHERE name LIKE ?"; $stmt = $conn->prepare($sql); $like_term = "%" . $search_term . "%"; $stmt->bind_param("s", $like_term); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $results[] = $row['email']; } } else { $error = "لا توجد نتائج مطابقة."; } $stmt->close(); } } $conn->close(); ?> <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>البحث في قاعدة البيانات</title> <script> function validateForm() { var searchTerm = document.getElementById('search_term').value.trim(); if (searchTerm.length < 3) { alert('يجب إدخال 3 أحرف على الأقل للبحث.'); return false; } return true; } </script> </head> <body> <h2>البحث في قاعدة البيانات</h2> <form method="POST" action="" onsubmit="return validateForm();"> <label for="search_term">أدخل اسم المستخدم للبحث:</label> <input type="text" id="search_term" name="search_term" required> <button type="submit" name="search">بحث</button> </form> <?php if (isset($error)) { echo "<p style='color:red;'>$error</p>"; } if (isset($results) && !empty($results)) { foreach ($results as $email) { echo "البريد الإلكتروني: " . htmlspecialchars($email) . "<br>"; } } ?> </body> </html> 1 اقتباس
0 m_sh نشر 26 أبريل الكاتب أرسل تقرير نشر 26 أبريل بتاريخ 2 ساعة قال بلال زيادة: للبحث داخل جدول قاعدة بيانات مع إظهار حقل واحد فقط بناءً على شرط البحث. سأفترض أنك تستخدم MySQL كقاعدة بيانات. <?php // إعداد الاتصال بقاعدة البيانات $servername = "localhost"; // اسم الخادم $username = "root"; // اسم مستخدم قاعدة البيانات $password = ""; // كلمة المرور $dbname = "test_db"; // اسم قاعدة البيانات // إنشاء الاتصال $conn = new mysqli($servername, $username, $password, $dbname); // التحقق من الاتصال if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } // تعيين الترميز لدعم اللغة العربية $conn->set_charset("utf8"); // التحقق من إرسال بيانات البحث if (isset($_POST['search'])) { $search_term = $_POST['search_term']; // استعلام البحث (حماية من SQL Injection باستخدام prepared statements) $sql = "SELECT email FROM users WHERE name LIKE ?"; $stmt = $conn->prepare($sql); $search_term = "%" . $search_term . "%"; // إضافة % للبحث الجزئي $stmt->bind_param("s", $search_term); $stmt->execute(); $result = $stmt->get_result(); // عرض النتائج if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "البريد الإلكتروني: " . $row['email'] . "<br>"; } } else { echo "لا توجد نتائج مطابقة."; } $stmt->close(); } // إغلاق الاتصال $conn->close(); ?> <!-- نموذج HTML لإدخال البحث --> <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>البحث في قاعدة البيانات</title> </head> <body> <h2>البحث في قاعدة البيانات</h2> <form method="POST" action=""> <label for="search_term">أدخل اسم المستخدم للبحث:</label> <input type="text" id="search_term" name="search_term" required> <button type="submit" name="search">بحث</button> </form> </body> </html> هذا الكود كامل بناء على ما تريد. بارك الله فيك اخي بلال ، لكن بنسبة اذا تم ضغط الزر للبحث يتم جلب كل المعلومات اريد تخصيص البحث بحيث اذا كان صندوق البحث فارغ او بهعدد بسيط من الاحرف لايقبل البحث 2 اقتباس
0 بلال زيادة نشر 27 أبريل أرسل تقرير نشر 27 أبريل بتاريخ 7 ساعة قال m_sh: بارك الله فيك اخي بلال ، لكن بنسبة اذا تم ضغط الزر للبحث يتم جلب كل المعلومات اريد تخصيص البحث بحيث اذا كان صندوق البحث فارغ او بهعدد بسيط من الاحرف لايقبل البحث لتخصيص البحث بحيث لا يتم تنفيذه إذا كان صندوق البحث فارغًا أو يحتوي على عدد قليل من الأحرف (على سبيل المثال أقل من 3 أحرف)، يمكننا إضافة تحقق إضافي في كود PHP قبل تنفيذ الاستعلام. سأقوم بتعديل الكود ليشمل هذا التحقق. يمكنك استخدام الكود التالي <?php // إعداد الاتصال بقاعدة البيانات $servername = "localhost"; // اسم الخادم $username = "root"; // اسم مستخدم قاعدة البيانات $password = ""; // كلمة المرور $dbname = "test_db"; // اسم قاعدة البيانات // إنشاء الاتصال $conn = new mysqli($servername, $username, $password, $dbname); // التحقق من الاتصال if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } // تعيين الترميز لدعم اللغة العربية $conn->set_charset("utf8"); // التحقق من إرسال بيانات البحث if (isset($_POST['search'])) { $search_term = trim($_POST['search_term']); // إزالة المسافات البيضاء // التحقق من أن الحقل ليس فارغًا ويحتوي على 3 أحرف على الأقل if (empty($search_term)) { echo "يرجى إدخال اسم للبحث."; } elseif (strlen($search_term) < 3) { echo "يجب أن يحتوي البحث على 3 أحرف على الأقل."; } else { // استعلام البحث (حماية من SQL Injection باستخدام prepared statements) $sql = "SELECT email FROM users WHERE name LIKE ?"; $stmt = $conn->prepare($sql); $search_term = "%" . $search_term . "%"; // إضافة % للبحث الجزئي $stmt->bind_param("s", $search_term); $stmt->execute(); $result = $stmt->get_result(); // عرض النتائج if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "البريد الإلكتروني: " . $row['email'] . "<br>"; } } else { echo "لا توجد نتائج مطابقة."; } $stmt->close(); } } // إغلاق الاتصال $conn->close(); ?> <!-- نموذج HTML لإدخال البحث --> <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>البحث في قاعدة البيانات</title> </head> <body> <h2>البحث في قاعدة البيانات</h2> <form method="POST" action=""> <label for="search_term">أدخل اسم المستخدم للبحث:</label> <input type="text" id="search_term" name="search_term" required> <button type="submit" name="search">بحث</button> </form> </body> </html> اقتباس
السؤال
m_sh
السلام عليكم الاخوة الكرام
ارغب بالمساعدة في انشاء كود للبحث داخل جدول قاعدة بيانات بشرط ان تظهر البيانات لحقل واحد فقط
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.