Zum Inhalt springen

Radiobuttons mit PHP


Empfohlene Beiträge

Hallo,

ich möchte gerne auf einer PHP-Seite Radiobuttons verwenden und habe da auch schon entsprechend der PHP-FAQ meinen Code zusammengebaut. Offensichtlich scheine ich aber etwas nicht verstanden zu haben, denn die Benennungen der Felder sind falsch und ich weiß nicht, woran das liegt.

So (bei mir) geht es nicht:


$radio = array(
array('name' => 'focoapproved', 'value' => 'yes'),
array('name' => 'focoapproved', 'value' => 'no'));
foreach ($radio as $focoappr)
{
echo printf('<td align="left" valign="middle"><input type="radio" name="appr"
value="%s" %s/> %s<br /></td>',
$focoappr['value'],
(isset($_REQUEST['appr']) AND $_REQUEST['appr'] ==
$focoappr['value']) ? 'checked="checked" ' : '',
$focoappr['name']);
}
[/PHP]

[b]und so gehts (nicht von mir)[/b]

[PHP]
$elements = array(
array('name' => 'gruen', 'value' => 'gr'),
array('name' => 'blau', 'value' => 'bl'),
array('name' => 'rot', 'value' => 'ro')
);
foreach ($elements as $element)
{
printf('<td align="left" valign="middle"><input type="radio" name="farbe"
value="%s" %s/> %s<br />',
$element['value'],
(isset($_REQUEST['farbe']) and $_REQUEST['farbe'] ==
$element['value']) ? 'checked="checked" ' : '',
$element['name']);
}

Kann mir mal bitte jemand die Augen öffnen? :rolleyes: :floet:

Danke + Gruß

-etops-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke - das hab ich mittlerweile auch gefunden :-)

Jetzt ist mein Problem nur noch, daß ich die beiden Radiobuttons in der gleichen Tabellenzelle haben möchte - aber das wird auch noch klappen.

Da musst du einfach das "<br/>" entfernen. Das sorgt für den Zeilenumbruch.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke aber - nee, das ist es nicht, denn die beiden Radiobuttons sind in zwei unterschiedlichen Zellen (nicht Zeilen nebeneinander und das will ich nicht haben...

Ups, dann hab ich das doch glatt falsch gelesen. Dann hat ja BayK schon den richtigen Hinweis gegeben.

Alles was zwischen dem <td>-Tag steht kommt dann in eine Zelle, also müsstest du, nachdem alle Radiobuttons erstellt sind den Tag erst schließen und nicht nach jedem Radiobutton.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Alles was zwischen dem <td>-Tag steht kommt dann in eine Zelle, also müsstest du, nachdem alle Radiobuttons erstellt sind den Tag erst schließen und nicht nach jedem Radiobutton.

Nee, daran liegts nicht...der td-Tag muss vor der while-Schleife stehen und nicht in der Schleife, da er sonst bei jedem Durchlauf immer eine neue Zelle öffnet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Und es ist wie immer - kaum macht man es richtig, schon gehts...

Danke!

Der (funktionierende) Code sieht jetzt so aus [vielleicht braucht es ja mal jemand]:


$radio = array(
array('name' => 'no', 'value' => 'no'),
array('name' => 'yes', 'value' => 'yes'));
printf('<td align="left" valign="middle">');
foreach ($radio as $choice)
{
printf('<input type="radio" name="cho" value="%s" %s/> %s',
$choice['value'],
(isset($_REQUEST['cho']) AND $_REQUEST['cho'] == $choice
['value']) ? 'checked="checked" ' : '',
$choice['name']);
}
printf('</td>');
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, darf man: weil ich den Inhalt je nach Auswahl (ja/nein) in eine Datenbank schreiben lassen möchte und die Datenbankinhalte entsprechend an anderer Stelle wieder ausgegeben werden sollen...

Da möglicherweise noch weitere Felder dazukommen, war das hier ein guter Anfang.

[Neugiermodus]

Gibt es etwas, das Dich an der Vorgehensweise stört oder was Du anders/besser gemacht hättest?

[/Neugiermodus]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich hab nochmal eine Frage zu diesen Radiobuttons, die sich aber auch auf die HTML-Tags <textarea></textarea> bezieht:

Ich habe ein Formular, das Radiobuttons und Textarea enthält und dessen Inhalte werden beim ersten Erfassen auch wie gewünscht in die Datenbank geschrieben. Allerdings möchte ich diese Einträge auch ändern können; nur sehe ich auf der Update-Seite nicht die eingegebenen Werte aus der Datenbank.

Mir würde schon helfen zu wissen, wo ich sowas in einem Tutorial finde :)

Es sei denn, daß von vornherein klar ist, daß ich Radiobuttons und Textarea-Tags gar nicht abfragen kann... :floet:

Danke schon mal - Gruß

-etops-

Link zu diesem Kommentar
Auf anderen Seiten teilen

[Neugiermodus]

Gibt es etwas, das Dich an der Vorgehensweise stört oder was Du anders/besser gemacht hättest?

[/Neugiermodus]

Für die simple Darstellung von Radiobuttons erschien mir das ein bisschen zu umständlich.

Aber wenn du das noch erweitern willst sollte es eigentlich okay sein.

Was auch zu meiner Verwirrung beigetragen hat war wohl die nette Formatierung des Boards... :D

@etops

Klar kannst du Textareax bzw. Radiobuttons auslesen:


echo $_POST['textarea']; //der name von deiner ta
echo $_POST['radiobutton']; // der name von deinem rb, hast du eine gruppe von radiobuttons, müssen die den gleichen namen haben, du bekommst den wert des radiobuttons der markiert ist und im value property steht.

//Alternativ, falls du dein Formular per GET abschickst, wovon ich mal nicht ausgehe:
echo $_GET['textarea'];
echo $_GET['radiobutton'];

[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Checkbox:


<input type="checkbox" name="a" value="1"/>

<input type="checkbox" name="a" value="2" checked="checked"/>

<input type="checkbox" name="a" value="3"/>

Selectbox:

<select name="a">

  <option value="1">Eins</option>

  <option value="2">Zwei</option>

  <option value="3" selected="selected">Drei</option>

</select>

Textarea:

<textarea>Der alte wert</textarea>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke mal wieder...

Daß das mit der <textarea> nicht geklappt hat, lag an der Unwissenheit, daß der zu übergebende Wert von den <textarea> - Tags umgeben sein muß. Aber das geht jetzt.

Einziges Problem sind jetzt noch die blöden Radiobuttons :floet: :

Ich hätte gerne, daß defaultmäßig "no" selektiert ist und daß ich beim Ändern der Seite den ursprünglich selektierten Wert sehen kann.

Der Quelltext ist folgender:


<?php
$radio = array(
array('name' => 'no', 'value' => 'no'),
array('name' => 'yes', 'value' => 'yes'));
printf('<td align="left" valign="middle">');
foreach ($radio as $focoappr)
{
printf('<input type="radio" name="appr" value="%s" %s/> %s',
$focoappr['value'],
(isset($_REQUEST['appr']) AND $_REQUEST['appr'] == $focoappr['value']) ? 'checked="checked" ' : '',
$focoappr['name']);
}
printf('</td>');
?>
[/PHP]

Falls jemandem der Quelltext bekannt vorkommt: Ja, er ist abgewandelt aus der PHP-FAQ aber so ganz verstanden hab ich ihn trotzdem nicht :hells:

Danke + Gruß,

-etops-

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schön aus SelfHTML abgeschrieben, es ging in der Frage des Themenstarters aber darum auch die Radiobuttons dynamisch zu setzen...

Es geht darum dem Threadstarter Tipps zu geben wie er zum Ziel kommt und nicht seine Arbeit zu machen.

Wenn du für jedem dem Du hier helfen willst immer die kompletten scripts schreibst, dann bin ich stolz auf Dich, aber ich muss auch noch andere Dinge tun.

Ausserdem erzieht man so die Leute zu selbstständigkeit.

Wie du vielleicht auch schon bemerkt hast sind ein großteil aller "guten" Antworten immer von den selben 5-10 Personen zu denen ich auch dazuzähle.

Also wenn man keine Ahnung hat einfach mal Fresse h.....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...