hallo,
ich habe mir inzwischen das folgende Script geholt:
http://tutorial.world.edu/web-…-search-mysql-php-script/
Folgende Funktion bräuchte ich:
Ich brauch mehrere Suchfelder felder bei denen jedes einzelne nur eine Spalte durchsucht-Also Suchfeld 1 sucht Spalte 1, Suchfeld2 Spalte2 etc. Dann soll mir das Suchergebnis angezeigt werden, aber das komplette, also die komplette Zeile.
Das gesamte Script ist folgendes:
<html>
<head>
<title> How To Create A Database Search With MySQL & PHP Script | Tutorial.World.Edu </title>
</head>
<body>
<form action="search-database.php" method="post">
Search: <input type="text" name="search" placeholder=" Search here ... "/>
<input type="submit" value="Submit" />
</form>
<p><a href="http://tutorial.world.edu/web-development/how-to-create-database-search-mysql-php-script/">PHP MySQL Database Search</a> by <a href="http://tutorial.world.edu">Tutorial.World.Edu</a></p>
</body>
</html>
<?php
//load database connection
$host = "localhost";
$user = "root";
$password = "";
$database_name = "databasename";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// Search from MySQL database table
$search=$_POST['search'];
$query = $pdo->prepare("select * from book where title LIKE '%$search%' OR author LIKE '%$search%' LIMIT 0 , 10");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
// Display search result
if (!$query->rowCount() == 0) {
echo "Search found :<br/>";
echo "<table style=\"font-family:arial;color:#333333;\">";
echo "<tr><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Title Books</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Author</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Price</td></tr>";
while ($results = $query->fetch()) {
echo "<tr><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
echo $results['title'];
echo "</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
echo $results['author'];
echo "</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
echo "$".$results['price'];
echo "</td></tr>";
}
echo "</table>";
} else {
echo 'Nothing found';
}
?>
Ich hatte das Suchfeld verdoppelt und diese Suchfunktion nochmal gemacht, so dass es dann so aus sieht:
<html>
<head>
<title> How To Create A Database Search With MySQL & PHP Script | Tutorial.World.Edu </title>
</head>
<body>
<form action="search-database.php" method="post">
Search: <input type="text" name="search" placeholder=" Search here ... "/>
<input type="submit" value="Submit" />
</form>
<body>
<form action="search-database.php" method="post">
Search: <input type="text" name="search2" placeholder=" Search here ... "/>
<input type="submit" value="Submit" />
</form>
<p><a href="http://tutorial.world.edu/web-development/how-to-create-database-search-mysql-php-script/">PHP MySQL Database Search</a> by <a href="http://tutorial.world.edu">Tutorial.World.Edu</a></p>
</body>
</html>
<?php
//load database connection
$host = "localhost";
$user = "root";
$password = "";
$database_name = "databasename";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// Search from MySQL database table
$search=$_POST['search'];
$query = $pdo->prepare("select * from book where title LIKE '%$search%' LIMIT 0 , 10");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
$search=$_POST['search2'];
$query = $pdo->prepare("select * from book where author LIKE '%$search%' LIMIT 0 , 10");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
// Display search result
if (!$query->rowCount() == 0) {
echo "Search found :<br/>";
echo "<table style=\"font-family:arial;color:#333333;\">";
echo "<tr><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Title Books</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Author</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;background:#98bf21;\">Price</td></tr>";
while ($results = $query->fetch()) {
echo "<tr><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
echo $results['title'];
echo "</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
echo $results['author'];
echo "</td><td style=\"border-style:solid;border-width:1px;border-color:#98bf21;\">";
echo "$".$results['price'];
echo "</td></tr>";
}
echo "</table>";
} else {
echo 'Nothing found';
}
?>
Problem bei diesem Versuch: Währen dich beim Eingeben im unteren Suchfeld auch nur ein eindeutiges Ergebnis kriege, bekomme ich wenn ich im oberem feld was eingebe die Komplette Liste erneut
bin ich einer Mission Impossible, also gar keine Möglichkeit oder kann man da doch was deichseln?
Gibts es zum Beispiel die Möglichkeit, dass ich bei der suche ein "Suche in" dazu machen kann, also dass zusätzlich abgefragt wird in welcher Spalte gesucht wird?
Oder gäbe es die Möglichkeit die Suchfunktion mit einem Dropdown Filter zu kombinieren? Also dass der Dropdown Filter erstmal die Spalte angibt in der gesucht werden soll und dann die Suche eingegeben wird?