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

انشاء صندوق بحث بلغة php

دينا البعاج

السؤال

Recommended Posts

  • 0

في البداية تحتاجين الى مربع البحث الذي من خلاله سترسلين البيانات لقاعدة البيانات حتى يتم البحث عن القيمة المطلوبة, لنفرض انكِ تريدين البحث عن الاسم كما في المثال التالي:

<form action="search.php" method="POST">
  الاسم
  <input type="text" name="name">
  <input type="submit" value="بحث">
</form>

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

<?php
// الاتصال بقاعدة البيانات
$link = mysqli_connect("localhost", "root", "", "users");

// فحص الاتصال
if ($link === false) {
   die("ERROR: Could not connect. " . mysqli_connect_error());
}

// الاسم الذي تم ارساله
$name = $_post['name'];

// تجهيز الاستعلام لارساله لقاعدة البيانات
$sql = "SELECT * FROM persons WHERE name LIKE '%{$name}%'";
if ($result = mysqli_query($link, $sql)) {
   if (mysqli_num_rows($result) > 0) {
      echo "<table>";
      echo "<tr>";
      echo "<th>id</th>";
      echo "<th>first_name</th>";
      echo "<th>last_name</th>";
      echo "<th>email</th>";
      echo "</tr>";
      while ($row = mysqli_fetch_array($result)) {
         echo "<tr>";
         echo "<td>" . $row['id'] . "</td>";
         echo "<td>" . $row['first_name'] . "</td>";
         echo "<td>" . $row['last_name'] . "</td>";
         echo "<td>" . $row['email'] . "</td>";
         echo "</tr>";
      }
      echo "</table>";
      // إغلاق مجموعة النتائج
      mysqli_free_result($result);
   } else {
      echo "No records matching your query were found.";
   }
} else {
   echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

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

 

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

  • 0

STEP 1) HTML SEARCH FORM

form.php

<!DOCTYPE html>
<html>
  <body>
    <!-- [SEARCH FORM] -->
    <form method="post" action="1-form.php">
      <h1>SEARCH FOR USERS</h1>
      <input type="text" name="search" required/>
      <input type="submit" value="Search"/>
    </form>

    <?php
    if (isset($_POST['search'])) {
      // SEARCH FOR USERS
      require "2-search.php";

      // DISPLAY RESULTS
      if (count($results) > 0) {
        foreach ($results as $r) {
          printf("<div>%s - %s</div>", $r['name'], $r['email']);
        }
      } else {
        echo "No results found";
      }
    }
    ?>
  </body>
</html>

STEP 2) THE SEARCH SCRIPT

<?php
// (1) DATABASE CONFIG
// ! CHANGE THESE TO YOUR OWN !
define('DB_HOST', 'localhost');
define('DB_NAME', 'test');
define('DB_CHARSET', 'utf8');
define('DB_USER', 'root');
define('DB_PASSWORD', '');

// (2) CONNECT TO DATABASE
try {
  $pdo = new PDO(
    "mysql:host=" . DB_HOST . ";charset=" . DB_CHARSET . ";dbname=" . DB_NAME,
    DB_USER, DB_PASSWORD, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES => false ]
  );
} catch (Exception $ex) {
  die($ex->getMessage());
}

// (3) SEARCH
$stmt = $pdo->prepare("SELECT * FROM `users` WHERE `name` LIKE ? OR `email` LIKE ?");
$stmt->execute(["%" . $_POST['search'] . "%", "%" . $_POST['search'] . "%"]);
$results = $stmt->fetchAll();
if (isset($_POST['ajax'])) { echo json_encode($results); }

 

 

تم التعديل في بواسطة Abdelfatah Obaid
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...