2016-04-04 5 views
1

Ich bin ziemlich neu zu PHP und ich muss das lösen:Wie kann ich if-else if oder switch-case mit Datenbankelementen in PHP verwenden?

Es gibt ein Registrierungsformular, wo Sie Name, E-Mail und Zeit auswählen können. Die Zeit hat natürlich mehr Möglichkeiten.

Ich möchte maximale Registrierungsnummer für Zeiten hinzufügen. Ich erschaffe ein Stück Code, das einmal funktioniert, aber ich weiß nicht wirklich, wie ich es für eins nach dem anderen funktionieren lassen kann. Mein Code ist nur eine if-Anweisung, wie folgt aus:

$check_reg_num = "SELECT * FROM database WHERE time='18:00'"; 
if ($result = mysqli_query($con, $check_reg_num)) { 
$rowcount = mysqli_num_rows($result); 
if ($rowcount >= 2) { 
echo "<script>alert('Reg is full for this time or smthing like that')</script>"; 
} 
exit(); 
} 

Dies funktioniert nur für 18.00 Uhr und wenn das voll ist, kann ich nicht jeder anderen Zeit reg. Ich will nicht komplizieren, Du weißt was ich gerne erreichen würde :)

Danke für jede Hilfe.

+0

Verwenden Sie eine parametrisierte Abfrage wie 'SELECT * FROM Datenbank WHERE Zeit =?' Und dann nachschlagen 'mysqli_prepare() 'und' mysqli_execute() '[Im Handbuch] (http://php.net/manual/en /book.mysqli.php) – RiggsFolly

Antwort

0

Verwenden Sie die angegebene Variable (vorausgesetzt, Sie verwenden POST als Formularaktion) in der Anweisung.

Zum Beispiel:

$check_reg_num = "SELECT * FROM database WHERE time='" . $_POST['time'] . "'"; 

Wie @RiggsFolly schon sagt, wollen Sie prepared MYSQL statements verwenden sql injection zu vermeiden.

Verwandte Themen