Radio Buttons
meisterB
- php
Hallo Leute, ich habe folgendes Problem:
Ich habe zwei Grußßen von Radio-Buttons. Aus jeder Gruppe kann ja nur einer gewählt werden, ds ist schonmal gut. Jetzt möchte ich aber, das insgesammt nur einer gewält werden werden darf. Also entweder einer aus Gruppe eins, oder einer aus Gruppe zwei. Könnt ihr mir helfen??
MFG Sebastian
hi,
Ich habe zwei Grußßen von Radio-Buttons. Aus jeder Gruppe kann ja nur einer gewählt werden, ds ist schonmal gut. Jetzt möchte ich aber, das insgesammt nur einer gewält werden werden darf. Also entweder einer aus Gruppe eins, oder einer aus Gruppe zwei. Könnt ihr mir helfen??
mach aus den zwei gruppen eine.
gruß,
wahsaga
Soweit war ich schon, leider komm ich dann mit der Rückgabe durcheinander.
So siehts aus:
$result = mysql_query("SELECT * FROM tab_land");
echo'<form action="LaenderBEARB.php" method="GET" target="rechtsu"><table><tr><td>KFZ:</td><td>Land:</td><td><img src="./imgs/b_edit.png" alt="Bearbeiten" width="16" height="16" border="0"></td><td><img src="./imgs/b_drop.png" alt="Loeschen" width="16" height="16" border="0"></td></tr>';
while($row = mysql_fetch_array($result))
{ echo '<tr><td><input type="text" name="AusgabeKfz" size="5" value='.$row["Land_Kfz"].' readonly></td>
<td><input type="text" name="AusgabeLand" size="30" value='.$row["Land"].' readonly></td>
<td><input type="RADIO" name="CB" value='.$row["Land_Kfz"].'></td>
<td><input type="RADIO" name="CL" value='.$row["Land_Kfz"].'></td></tr>';
}
Wie gesagt, wird was in der Variable CB übergeben wird der Datensatz bearbeitet, in CL gelöscht.
hi,
Soweit war ich schon, leider komm ich dann mit der Rückgabe durcheinander.
So siehts aus: [...]
damit komme ich durcheinander ...
Wie gesagt, wird was in der Variable CB übergeben wird der Datensatz bearbeitet, in CL gelöscht.
dann entscheide anhand des übergebenen wertes, ob du bearbeiten oder löschen möchtest.
ggf. musst du den wert dafür noch um ein kennzeichen erweitern.
gruß,
wahsaga
Das wäre eine Möglichkeit, die ich auch schon bedacht habe...
Gibt es keine andere Lösung??
dann entscheide anhand des übergebenen wertes, ob du bearbeiten oder löschen möchtest.
ggf. musst du den wert dafür noch um ein kennzeichen erweitern.gruß,
wahsaga
hi,
Das wäre eine Möglichkeit, die ich auch schon bedacht habe...
Gibt es keine andere Lösung??
zumindest keine _bessere_ würde ich sagen.
du _willst_ dem user unter mehreren möglichkeiten nur _genau eine_ auswahl erlauben - dafür ist _eine_ gruppe von radiobuttons das mittel der wahl.
natürlich könntest du stattdessen auch per javascript oder serverseitig prüfen, ob es wirklich nur genau eine auswahl gegeben hat - aber wozu? du hast das passende instrument direkt vor deiner nase liegen, also wäre es m.E. unfug, es zugunsten irgendeines anderen ersetzen zu wollen.
gruß,
wahsaga
Hello,
Das wäre eine Möglichkeit, die ich auch schon bedacht habe...
Gibt es keine andere Lösung??
Ja.
Die richtige Lösung wäre die Staffelung in Vorgangsgruppen.
Man entscheidet erst, die Vorgangsart und dann den Teilvorgang. Dazu ist aber ein zusätzlicher Request notwendig. Allerdings lässt sich auf diese Weise auch prima staffeln.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi Tom;
Hello,
Das wäre eine Möglichkeit, die ich auch schon bedacht habe...
Gibt es keine andere Lösung??Ja.
Die richtige Lösung wäre die Staffelung in Vorgangsgruppen.
Davon hab ich noch nie was gehört, hast du nen Link zum nachlesen??
Man entscheidet erst, die Vorgangsart und dann den Teilvorgang. Dazu ist aber ein zusätzlicher Request notwendig. Allerdings lässt sich auf diese Weise auch prima staffeln.
Danke schonmal...
hi,
Die richtige Lösung wäre die Staffelung in Vorgangsgruppen.
Davon hab ich noch nie was gehört, hast du nen Link zum nachlesen??
er meint wohl einfach, dass du auf der ersten seite auswählst, ob du löschen oder bearbeiten willst, und erst auf der nächsten, welchen datensatz.
oder andersherum, auf der ersten, welcher datensatz gewählt werden soll, und auf der zweiten, ob er bearbeitet oder gelöscht werden soll.
halte ich in dem falle aber für unkomfortabel ...
gruß,
wahsaga
Soweit war ich schon, leider komm ich dann mit der Rückgabe durcheinander.
So siehts aus:
Du tust dir und anderen, die deinen Quelltext lesen wollen/sollen, keine Gefallen wenn du das so unübersichtlich in eine Zeile packst. Nimm doch die Heredoc-Syntax
Damit sparst du dir auch die fehleranfällige Rein-in-die-Kartoffel-raus-aus-den-Kartoffeln-Schreibweise 'bla'.$var.'fasel'
echo <<<BISDA
bla
$variable
{$komplexer["ausdruck"]}
fasel
BISDA;
Wie gesagt, wird was in der Variable CB übergeben wird der Datensatz bearbeitet, in CL gelöscht.
Beschränkt sich das Formular nur auf die beiden Sachen (Auswählen eines Datensatzes zum Bearbeiten oder Löschen) und (Absendebutton) oder sind da noch mehr Form-Elemente?
Wenn ersters zutrifft, würde ich die Radio-Buttons durch normale oder grafische Submit-Buttons ersetzen.
<input type="submit/image" name="C[B][{$row["Land_Kfz"]}]" value/src=...>
<input type="submit/image" name="C[L][{$row["Land_Kfz"]}]" value/src=...>
Abfragen geht dann so:
if (array_key_exists('B', $_POST['C']))
$bearbeite = key($_POST['C']['B']);
if (array_key_exists('L', $_POST['C']))
$lösche = key($_POST['C']['L']);
Der Button-Value bzw. die Koordinaten interessieren nicht weiter. Was der Benutzer geklickt hat erfahren wir durch die Keys des Arrays $_POST['C']