Start Codeschnipsel PHP Mysql Suchfunktion

Mysql Suchfunktion

Dreamcodes.net bilder 47
Dreamcodes.net bilder 47

Wir zeigen dir, wie man eine Suchfunktion für Datenbanken erstellt. Dieser Codeschnipsel zeigt, wie man gezielt Einträge per Volltext- oder LIKE-Suche findet.

<?php
$mysqli = new mysqli("localhost", "root", "", "testdb");
if ($mysqli->connect_error) {
    die("Verbindung fehlgeschlagen: " . $mysqli->connect_error);
}
$search = "";
$results = [];
if (isset($_GET['q'])) {
    $search = $mysqli->real_escape_string($_GET['q']);
    $query = "SELECT * FROM users WHERE name LIKE '%$search%' ORDER BY id ASC";
    $res = $mysqli->query($query);
    if ($res) {
        $results = $res->fetch_all(MYSQLI_ASSOC);
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Suchfunktion</title>
</head>
<body>
<h2>Benutzer suchen</h2>
<form method="get" action="">
    <input type="text" name="q" placeholder="Name suchen" value="<?= htmlspecialchars($search) ?>">
    <button type="submit">Suchen</button>
</form>
<hr>
<?php if ($search && empty($results)): ?>
    <p>Keine Ergebnisse für "<?= htmlspecialchars($search) ?>" gefunden.</p>
<?php elseif (!empty($results)): ?>
    <table border="1" cellpadding="8">
        <tr>
            <th>ID</th>
            <th>Name</th>
        </tr>
        <?php foreach ($results as $row): ?>
        <tr>
            <td><?= $row['id'] ?></td>
            <td><?= htmlspecialchars($row['name']) ?></td>
        </tr>
        <?php endforeach; ?>
    </table>
<?php endif; ?>
</body>
</html>