1
Ich machte 2 bestückte Auswahlmenüs, um Abfragen an meine SQL-Datenbank zu machen. Die ersten Options-Tags aller ausgewählten Menüs haben einen Wert = "" Jetzt funktioniert alles gut, wenn ich die Optionen aller 2 Auswahlmenüs auswähle. Aber wenn ich 1 oder mehrere Optionen nicht auswähle, funktioniert die Abfrage nicht.
Eines der Auswahlmenü:
<select name="titel" id="titel" value="">
<option value="">Selecteer</option>
<?php
if($rowCount > 0){
while($row = $query->fetch_assoc()){
echo '<option value="'.$row['titel'].'">'.$row['titel'].'</option>';
}
}else{
echo '<option value="">Language not available</option>';
}
?>
</select>
2nd page (search.php):
<?php
//load database connection
$host = "localhost";
$user = "...";
$password = "...";
$database_name = "...";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// Search from MySQL database table
$titel=$_POST['titel'];
$version=$_POST['version'];
$query = $pdo->prepare("SELECT DISTINCT * FROM Library where titel = ? AND version = ?");
$query->bindValue(1, $titel, PDO::PARAM_STR);
$query->bindValue(2, $version, PDO::PARAM_STR);
$query->execute();
leider funktioniert es nicht. Ich frage mich, ob value = "" das Problem ist. Vielleicht wird es nicht als leerer Wert interpretiert, sondern als Anführungszeichen (Strings) interpretiert? – xcx
@xcx Ich habe meine Antwort aktualisiert, überprüfen Sie es und sagen Sie mir, was Sie erhalten –
Ergebnis zeigt alle Datensätze in meiner Datenbank, so dass die else {... -Anweisung ausgeführt wird. Aber das ist nicht was ich brauche: Wenn ich einen 'Titel' (sagen wir 'Harry Potter') auswähle und ich keine Version auswähle, müssen alle Harry Potter Bücher sein. Nicht meine ganze Bibliothek. – xcx