Ich habe diesen Code:Warum funktioniert diese php-Schleife nicht?
$thisTime = gmmktime(0, 0, 0);
for($i=0; $i<=95; $i++)
{
$perfTimeNumber = ($i+1);
$perfTimestamp = $thisTime;
$perfTime = date("H:i", $perfTimestamp);
echo '<option value="'. $perfTimeNumber .'" selected="'.$sel.'">' .$perfTime .'</option>';
$thisTime = $thisTime+(15*60);
}
Dies funktioniert einen Auswahleingang mit Optionen von 01:00 bis zu 24:45 in 15-Minuten-Takt zu erzeugen. Allerdings, wenn ich den Code ändern, und fügen Sie eine if-Anweisung ich einige merkwürdige Ergebnisse erhalten ...
$thisTime = gmmktime(0, 0, 0);
for($i=0; $i<=95; $i++)
{
$perfTimeNumber = ($i+1);
$perfTimestamp = $thisTime;
$perfTime = date("H:i", $perfTimestamp);
if ($perfTime == '19:30') {
$sel = "selected";
}
echo '<option value="'. $perfTimeNumber .'" selected="'.$sel.'">' .$perfTime .'</option>';
$thisTime = $thisTime+(15*60);
}
Die Idee ist (willkürlich!) Machen den Select-Eingang Standard bis 19.30 Uhr. Der obige Code fügt
selected = "selected"
zu jeder Option nach 19:30 hinzu, nicht nur zur Option 19:30. Wenn ich die if-Anweisung leicht auf if ($perfTime = '19:30') { ...
ändere, d. H. Mit einer einzigen anstelle von ==
, erzeugt sie eine Reihe von Optionen, die alle den Wert 19:30 haben. Was mache ich falsch?
Bitte den Code Abschlag für Quellcode anstelle von HTML-Code-Tags in der Zukunft. Probieren Sie die entsprechenden Schaltflächen im Editor aus oder fügen Sie die Codeblöcke einfach um vier Leerzeichen ein und umgeben Sie den Inline-Code mit Backticks ('). – OregonGhost