Reihenfolge in einer Schleife beeinflussen.
verona
- php
Hallo liebe Forumuser,
ich habe mir eine Funktion gebastelt, mit der ich mir die Inhalte (zwei Spalten) von Tabellen auslese und als HTML-Select-Feld ausgeben lasse.
Im Pulldownmenü steht dann als erste Zeile, dass man seine Auswahl treffen sollte.
Für Eingaben ist das sehr nützlich, da ich damit alle Pulldownmenüs anzeigen lassen kann, die ich im Projekt haben. Aber nur bis hier hin!
Jetzt will ich z.B. einen Datensatz ändern, bei dem Werte aus diesen Pulldownmenüs schon existieren. Der Benutzer soll hier nicht mehr zur Auswahl aufgefordert werden, sondern den Wert angezeigt bekommen, den der Datensatz hat.
Ich denke, dass es am besten ist, die Reihenfolge der <option>'s zu ändern, aber wie fange ich das am besten an? Oder ist es sinnvoller hier eine neue Funktion zu erstellen?
Gruß V
listing:
function html_form_select($tabelle,$tabindex,$display)
{
if(!isset($query) || empty($query))
{$query = "select * from $tabelle";}
$query = "select * from $tabelle";
$query=stripslashes($query);
$ergebnis=save_query($query);
echo "<select class="stammdaten" tabindex="$tabindex" id="$tabelle" name="$wert" style="display:" . $display ."">\n";
echo "<option value="NULL" selected>bitte wählen Sie!</option>\n";
while ($zeile=mysql_fetch_row($ergebnis))
{
if(!isset($zeile[0]))
{
echo "NULL";
}
else
{
echo "<option value="" . $zeile[0] . "">" . $zeile[1] . "</option>\n";
}
}
echo "</select>\n";
}
Datensatz ändern!
+--------------------------+
| Name : Müller |
| Telefon : 12345 |
| |
| +-------------------+ |
| |Kunde ^|<----select
| +-------------------+ |
| Ändern |
+--------------------------+
Datensatz anlegen!
+--------------------------+
| Name : |___________ |
| Telefon : |___________ |
| |
| +-------------------+ |
| |bitte wählen Sie ^|<----select
| +-------------------+ |
| Anlegen |
+--------------------------+
Setzt doch einfach $selected = " SELECTED", dann hol einfach Deine Ergebnisse aus der DB und gib sie aus. Wenn Du eines findest hängst DU $selected in den <option>-Tag und setzt $selected = "";
Am Schluss schreibst Du
<option value="NULL"$selected>bitte wählen Sie!</option>
HTH
toby
Danke Toby,
hab's gerade gemerkt! SCHEPPER!
:-x
RÄUSPER SCHÄM
;-)
Man kann es sich auch kompliziert machen. Ich habe gerade festgestellt, dass die Reihenfolge der <option>'s zu ändern zwar schön wäre, aber in diesem Fall überhaupt nicht nötig ist!
Ich hab's dann doch mit dem Attribut "selected" gemacht! LÄCHEL!
WEBMASTER BITTE LÖSCHEN! :-)
Moin Moin !
RÄUSPER SCHÄM
Soll ja mal vorkommen.
Du hast wahrscheinlich ursprünglich mal SELECT spalte1,spalte2 FROM TABELLE ORDER BY spalte1 gesucht ...
Alexander