Variablenübergabe und Anzeige in Radiobutton
Hurgl
- php
0 Achim Schrepfer0 Hurgl
0 Lemmy Danger0 Sönke Tesch
Hallo,
jetzt versuch ich mal meine erste Frage an das Forum :-).
Ich habe folgendes Problem:
Aus einer Datenbank lese ich einige Daten raus und übergebe diese Werte an ein Formular. (->User bearbeiten). Da gibt es einen Wert im Datensatz der sich Status nennt. Diesen Status kann man im Formular mittels Radiobuttons ändern.
Nun hätte ich gerne, dass bei Übergabe der Datenbank-Werte und Aufruf des Scripts nicht nur die anderen Werte in die Textboxen eingetragen werden (was problemlos funktioniert), sondern dass der Status auch im richtigen Radiobutton angezeigt wird, dh dass der korrekte Radiobutton schon aktiviert ist.
Das is der Formularteil mit den Radiobuttons, dürfte klar sein :-):
<td width="135" class="titulos">Objektanzahl *</td>
<td class="texto">
<input type="radio" name="status" value="1">1 Objekt<br>
<input type="radio" name="status" value="3">2 Objekte<br>
<input type="radio" name="status" value="5">5 Objekte<br>
<input type="radio" name="status" value="10">10 Objekte<br>
<input type="radio" name="status" value="2">unbeschränkt
</td>
Mit value='<?php echo $row['status'] ?>'> statt der Zahl funktioniert es zumindest nicht...
Hoffe ich hab mich verständlichg ausgedrückt. Kann mir einer helfen?
Gruss, Hurgl.
Hallo Hurgl,
jetzt versuch ich mal meine erste Frage an das Forum :-).
na dann, herzlich willkommen!
Nun hätte ich gerne, dass bei Übergabe der Datenbank-Werte und Aufruf des Scripts nicht nur die anderen Werte in die Textboxen eingetragen werden (was problemlos funktioniert), sondern dass der Status auch im richtigen Radiobutton angezeigt wird, dh dass der korrekte Radiobutton schon aktiviert ist.
<td width="135" class="titulos">Objektanzahl *</td>
<td class="texto">
<input type="radio" name="status" value="1">1 Objekt<br>
<input type="radio" name="status" value="3">2 Objekte<br>
<input type="radio" name="status" value="5">5 Objekte<br>
<input type="radio" name="status" value="10">10 Objekte<br>
<input type="radio" name="status" value="2">unbeschränkt>
</td>
Du musst dafür sorgen, daß bei dem Radiobutton mit dem aktuellen Status auch das Attribut "checked" gesetzt ist. Dazu am besten ein Array mit den möglichen Stati definieren und mit foreach durchlaufen. Wenn die Schleife beim Durchlauf beim aktuellen Status vorbeikommt, wird einfach das input-Tag mit einem "checked" versehen:
<?php
$aktuellerStatus = 5;
$stati = array(
1 => '1 Objekt',
3 => '3 Objekte',
5 => '5 Objekte'
);
foreach ($stati AS $key => $value) {
if ($aktuellerStatus == $key) { $chk = ' checked'; } else { $chk = ''; }
echo '<input type="radio" name="status" value="'.$key.'"'.$chk.'>'.$value.'<br>';
}
?>
So, das sollte funktionieren. Ich habs nicht ausprobiert, nur schnell ausm Kopf geschrieben. Aber glaub nicht, daß ich das bei jedem Problem mache ;-]
viele Grüße
Achim Schrepfer
Super, klappt hervorragend. Genau so wie ich mir das vorgestellt habe. Wünschte ich könnte das auch 'nur mal eben so' ausm Kopf schreiben.
VIELEN DANK!!!!
Hurgl.
Guude!
Versuchs mal mit
<?php
if($_POST["status"]==1)
echo "selected="selected"";
?>
Das fügst Du in jedes Input-Tag ein (die Zahl natürlich je nach value verändern). Die if-Bedingung müßtest Du dann noch einfach an Deine DB-Abfrage anpassen, und schon sollte es klappen.
LG
Lemmy
Neue Homepage, neues Design: http://www.olison.com
Oups!
echo "selected="selected"";
checked="checked" natürlich, sind ja Radiobuttons. Danke Achim ;)
LG
Lemmy
Neue Homepage, neues Design: http://www.olison.com
Nun hätte ich gerne, [..] dass der korrekte Radiobutton schon aktiviert ist.
<input type="radio" name="status" value="2">unbeschränkt
Mit value='<?php echo $row['status'] ?>'> statt der Zahl funktioniert es zumindest nicht...
Natürlich nicht. Schau Dir mal an, wie man in HTML so ein Knöpken aktiviert: http://selfhtml.teamone.de/html/formulare/auswahl.htm#radiobuttons (Tipp: Achte auf das Wörtchen "checked").
Gruß,
soenk.e