2016-04-08 7 views
0

EDIT: Ich habe jetzt versucht, meinen PHP-Code wieder zu tun, es funktioniert jetzt aber außer es druckt alle Lektionen jedes Mal drücken Sie nicht die Lektionen um den Filter zu übermitteln. Auch kann ich nicht scheinen, zwei Tabellen beim Filtern zusammen zu verbinden. Der Name des Tauchlehrers stammt von einem anderen Tischlehrer und ich möchte das hier abholen. Hier ist mein PHP-Code.Filterung mehrerer Dropdown-Menüoptionen mit PHP

Ich habe versucht, mehrere Dropdown-Menüoptionen zu filtern, so dass, wenn der Benutzer auf "Suchlektionen" klickt, die Abfragen angezeigt werden. Aber aus irgendeinem Grund bekomme ich immer die gleiche Fehlermeldung: Hinweis: Undefinierter Index: Tage. Obwohl der PHP-Code es abholen sollte, scheint es nicht zu sein und ich kann es nicht herausfinden. Dies ist mein Code unten, beachten Sie, dass ich noch nicht alle meine PHP ausgewählt habe. Wie kann ich diese Abfragen auch ausdrucken, wenn ich diese Optionen bei der Auswahl von PHP ausgewählt habe? Ich danke dir sehr.

<form action="tester_filter.php" method="post"> 
<select name="Days"> 
<option value="All" selected="selected">All days</option> 
<option value="Monday">Monday</option> 
<option value="Tuesday">Tuesday</option> 
<option value="Wednesday">Wednesday</option> 
<option value="Thursday">Thursday</option> 
<option value="Friday">Friday</option> 
<option value="Saturday">Saturday</option> 
<option value="Sunday">Sunday</option> 
</select> 
<select name="Instructors"> 
<option value="All" selected="selected">All instructors</option> 
<option value="Trevor">Trevor</option> 
<option value="Laura">Laura</option> 
<option value="Rachel">Rachel</option> 
<option value="Ryan">Ryan</option> 
<option value="Steve">Steve</option> 
</select> 
<select name="TypeLessons"> 
<option value="All" selected="selected">All types</option> 
<option value="Keeping Fit">Keeping Fit</option> 
<option value="How to Swim">How to Swim</option> 
<option value="Relaxing Sessions">Relaxing Sessions</option> 
<option value="Being Sporty">Being Sporty</option> 
</select> 
<input type="submit" value="search lessons" name="submit" /> 
</form> 
+0

Zeigen Sie uns den gesamten Code für Tester_filter.php, so können wir eine richtige Antwort geben, es sei denn, die PHP-Tags sind alles, was drin ist ?? – Tommy

+0

Das war alles für jetzt, weil ich versuchte, die "Tage" abzuholen, ich bin nicht sicher, wie ich diese Abfragen ausdrucken soll. Ich schaute online und einige benutzen AJAX, die ich nicht verstehe. – Jade

Antwort

0
<?php 
if($_POST){ 
    if($_POST['Days'] == 'Monday') { 
     $query = "SELECT * FROM lesson WHERE Day='Monday'"; 
    }elseif($_POST['Days'] == 'Tuesday') { 
     $query = "SELECT * FROM lesson WHERE Day='Tuesday'"; 
    } 
} 
?> 

versuchen dieses

+0

Danke, das scheint die Undefined Index Fehlermeldung losgeworden zu sein. Aber wie drucke ich die Details aus der Datenbank, nachdem ich diese Abfragen erstellt habe? Vielen Dank. – Jade

0

der Mitteilung Fehler verwenden Sie den Code unten zu beheben.

if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 
    if($_POST['Days'] == 'Monday') { 
    $query = "SELECT * FROM lesson WHERE Day='Monday'"; 
    } 
    elseif($_POST['Days'] == 'Tuesday') { 
    $query = "SELECT * FROM lesson WHERE Day='Tuesday'"; 
    } 
} 

alternativ können Sie auch unter Code überprüfen, indem

if(!empty($_POST)) { 
    // process, validate or save to DB $_POST values, 
} 
0

PHP-Skript Unter der Annahme, in tester_filter.php wie das Formular befindet schlägt vor (Sie seine eigentlich nicht dort angeben), I Ich bin mir nicht sicher, was Sie erwarten, um rauszukommen, die Tage werden aufgenommen, aber Sie setzen nur eine Variable namens Query auf eine Zeichenkette und tun nichts damit. Auswahl ist gut sind (es sieht okay), dann Montag wählen und sehen, ob das Echo

In jedem der if-Anweisungen,

if($_POST['Days'] == 'Monday') { 
//A check we're having the variable pass through 
echo "this should say monday"; 
$query = "SELECT * FROM lesson WHERE Day='Monday'"; 
} 

eine Debug tun, wenn Sie, wenn Sie überprüfen möchten, ist Ausgabe, dann siehst du gut aus.

Sie können nicht nur eine Abfrage ohne eine Verbindung zu einer Datenbank zuordnen, müssen Sie eine Verbindungszeichenfolge, wie zum Beispiel:

//Connection variables 
$servername = "localhost"; 
$username = "root"; 
$password = "password"; 
$database = "database"; 
//Connect to MySQL 
$conn = new mysqli($servername, $username, $password, $database); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
else{ 
    echo "Connected successfully"; 
} 

Dann, wenn Sie, dass es sehr Basis haben, können Sie Abfragen starten die Datenbank mit dem, was Sie mit $ Query getan haben.

Es ist wahrscheinlich zu viel für mich zu erklären, also werde ich so viele hilfreiche Links verlassen, wie ich denke, dass Sie Ihnen auf Ihrem Weg helfen müssen.

Connect to a MySQL Database from PHP

Pulling data from a MySQL Database, Querying the Database through PHP

List of MySQLi functions and what they do

Another list of MySQLi functions and what they do

Another guide on how to select information from a MySQL Database

Viel Glück und kommentieren, wenn Sie irgendwelche Probleme haben.

+0

Danke, das hat am Ende funktioniert! Diese Links waren hilfreich! – Jade

+0

Ich bin froh, dass ich helfen konnte! – Tommy