Guten Morgen,
folgendes Anliegen:
Ich lasse aus einer Textdatei ein Dropdown-Menü erstellen, was soweit auch klappt. Darüberhinaus möchte ich aber, dass der per POST übermittelte Wert selektiert wird, woran ich trotz intensiver Suche (jede Lösung arbeitet mit einer Datenbank, ich lese aber aus einer .txt aus <.<) und Testerei allerdings scheiterte.
Folgende Lösungsansätze habe ich in einem kleinen Probescript versucht:
In beiden Fällen versuche ich, bei Gleichheit zwischen "$ausgabe == $line_of_text" das Attribut "selected" hinzuzufügen. Der Denkfehler wird wahrscheinlich sein, dass "$line_of_text" innerhalb der if-Schleife permanent ändern, sodass in jedem Fall nur die letzte Zeile des Textdokuments auch selektiert werden kann. Nur wie gehe ich gegen diesen "Denkfehler" vor, hat da wer einen Anstoß?
folgendes Anliegen:
Ich lasse aus einer Textdatei ein Dropdown-Menü erstellen, was soweit auch klappt. Darüberhinaus möchte ich aber, dass der per POST übermittelte Wert selektiert wird, woran ich trotz intensiver Suche (jede Lösung arbeitet mit einer Datenbank, ich lese aber aus einer .txt aus <.<) und Testerei allerdings scheiterte.
Folgende Lösungsansätze habe ich in einem kleinen Probescript versucht:
PHP-Code:
<?php
function readoptions($readfile) {
$ausgabe = $_POST['buchstabe'];
$openfile = fopen($readfile, "r");
while (!feof($openfile) ) {
$line_of_text = fgets($openfile);
$selected = ($ausgabe == $line_of_text) ? ' selected="selected"' : '';
echo '<option '.$selected.'>'. $line_of_text . '</option>';
}
fclose($openfile);
return $options;
}?>
<form method="post" action="">
Buchstabe: <select name="buchstabe">
<option>Auswahl treffen</option>
<?= readoptions('aufbau.txt'); ?>
</select>
<input type="submit" name="sendpost" value="absenden">
</form>
<?php
if(isset($_POST['sendpost'])) {
echo $_POST['buchstabe'];
}
?>
PHP-Code:
<?php
function readoptions($readfile) {
$ausgabe = $_POST['buchstabe'];
$openfile = fopen($readfile, "r");
while (!feof($openfile) ) {
$line_of_text = fgets($openfile);
if($ausgabe==$line_of_text) {
echo '<option selected>'. $line_of_text . '</option>';
}
else {
echo '<option>'. $line_of_text . '</option>';
}
}
fclose($openfile);
return $options;
}?>
<form method="post" action="">
Buchstabe: <select name="buchstabe">
<option>Auswahl treffen</option>
<?= readoptions('aufbau.txt'); ?>
</select>
<input type="submit" name="sendpost" value="absenden">
</form>
<?php
if(isset($_POST['sendpost'])) {
echo $_POST['buchstabe'];
}
?>
Kommentar