Hi
nachstehendes Script arbeitet nicht ganz korrekt. Gebe ich 2 Suchworte
ein so bekomme ich 2 Ergebnislisten untereinander angezeigt. Die
erste(obere) Liste enthält Ergebnisse mit dem ersten Suchwort, die
zweite(untere) Liste enthält Ergebnisse mit dem zweiten Suchwort. Das
selbe Schema mit 3 Suchworten usw.
Ich will aber die Ergebnisse in denen alle Suchworte gleichzeitig enthalten sind.
Wichtig ist nur das der gesamte String 3 Zeichen enthalten muß, nicht jedes Suchwort.
Ich weiß das ich an der Schleife was ändern muß doch bei PDO und prepared statements habe ich wenig Ahnung wie.
MONI
PHP
<?php
if (strlen(trim($_POST['search'])) < 3)
echo "Bitte mind. drei Zeichen eingeben";
else {
include_once('suche_connection.php');
$search = explode(" ",$_POST["search"]);
try {
$pdo = new PDO("mysql:host=$host;port=$port;dbname=$dbname", $username, $password);
}
catch(PDOException $e) {
echo $e->getMessage();
}
$count = count($search);
for ($i=0; $i < $count; $i++) {
$stmt = $pdo->prepare("SELECT * FROM onlinebooks WHERE url LIKE ? ORDER BY id LIMIT 0,100");
$stmt->bindValue(1, '%' .$search[$i]. '%', PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();
foreach ($result as $row) {
echo $row["url"]."<br />";
}
}
}
?>
Alles anzeigen