etops Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 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? :floet: Danke + Gruß -etops- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kleine83 Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 Nimm mal das "echo" vor dem "printf" weg. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 15. Februar 2005 Autor Teilen Geschrieben 15. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sacho Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 15. Februar 2005 Autor Teilen Geschrieben 15. Februar 2005 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BayK Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 kann es sein, dass beim zweiten codeausschnitt die <td> net geschlossen wird? :hells: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sacho Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
FMG Geschrieben 15. Februar 2005 Teilen Geschrieben 15. Februar 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 16. Februar 2005 Autor Teilen Geschrieben 16. Februar 2005 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zaphod1984 Geschrieben 16. Februar 2005 Teilen Geschrieben 16. Februar 2005 Darf man fragen warum du deine Radiobuttons so generieren lassen willst? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 16. Februar 2005 Autor Teilen Geschrieben 16. Februar 2005 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
BayK Geschrieben 16. Februar 2005 Teilen Geschrieben 16. Februar 2005 also bei dem code gibts doch noch etliche optimieruntsmöglichkeiten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 18. Februar 2005 Autor Teilen Geschrieben 18. Februar 2005 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- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zaphod1984 Geschrieben 18. Februar 2005 Teilen Geschrieben 18. Februar 2005 [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... @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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 18. Februar 2005 Teilen Geschrieben 18. Februar 2005 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> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zaphod1984 Geschrieben 18. Februar 2005 Teilen Geschrieben 18. Februar 2005 Checkbox: <input type="checkbox" name="a" value="1"/> <input type="checkbox" name="a" value="2" checked="checked"/> <input type="checkbox" name="a" value="3"/> Schön aus SelfHTML abgeschrieben, es ging in der Frage des Themenstarters aber darum auch die Radiobuttons dynamisch zu setzen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 18. Februar 2005 Autor Teilen Geschrieben 18. Februar 2005 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- Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 18. Februar 2005 Teilen Geschrieben 18. Februar 2005 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..... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.