seelbreaker
Goto Top

Wie erstelle ich eine gleiche Gruppe an Radiobuttons die in eine Tabelle einer mysql-DB einen Wert eintragen?

Ob es hier richtig ist konnte icht beurteilen, da es sich hier um html + php + mysql handelt. Sorry vorab für den eventuell falschen Bereich! (In Html weil es um den Radiobutton geht)

2 Radiobuttons - 1 Formular - aber keine Gruppe...

Moin face-smile

Ich möchte 2 Radiobuttons die innerhalb einer Gruppe sind, damit man nur eines der beiden "Werte" auswählen kann. Hinter beiden Radiobuttons steckt ein Wert dahinter der dann in eine MySQL Tabelle in das entsprechende Feld geschrieben werden soll.

Jetzt habe ich das Problem, dass ich vermutlich wegen der Syntax von den Radiobuttons nicht als Gruppe erscheinen lassen kann und somit beide Buttons auswählbar sind und beide Werte in die Tabelle geschrieben werden...

Anbei mal den Quellcode von dem html-Formular und den PHP-Dateien:

Eingabeformular (db_eingabe.html)
<html>
<head>
<title>Dateneingabe</title>
</head>
<body>
<form action="work.php" method=post>  
<input type=radio name="Array[header]" id="1" value="Überschrift" checked> Überschrift  
<br>
<input type=radio name="Array[artikel]" id="1" value="Artikel"> Artikel  
<br>
<br>
<input type=submit name="SUBMIT" value="ok">  
</form>
</body>
</html>

PHP-Skript was die Daten vom Formular in die Mysql DB schreibt (work.php):
<html>
<head>
<title>Daten verarbeiten</title>
</head>
<body>

<?php

$host = "localhost";  
$user = "";  
$password = "";  
$dbname = "seelbreaker";  
$tabelle ="testdb";  

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0', '$Array[header]', '$Array[artikel]')";  

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");  
} else {
print ("Es traten Probleme auf.");  
}
mysql_close ($dbverbindung);

?>

</body>
</html>



Und hier noch die Datenbank-, Tabellen, Feldinfos von der mysql DB:

DB-Name:
seelbreaker

Table:
testdb

Felder:
id - tinyint
header - Text
Artikel - Text


Wäre super wenn jemand eine Lösung wüsste, wie ich eben diese 2 Radiobuttons so definieren kann, dass nur einer auswählbar ist und ich dennoch Einträge in die Mysql DB vornehmen kann.

Gruß
Seelbreaker

Content-ID: 128057

Url: https://administrator.de/contentid/128057

Ausgedruckt am: 25.11.2024 um 15:11 Uhr

dog
dog 27.10.2009 um 20:14:42 Uhr
Goto Top
<input type="radio" name="group1" value="a" /> Alternative A  
<input type="radio" name="group1" value="b" /> Alternative B  
[...]

Grüße

Max
Arano
Arano 27.10.2009 um 20:15:51 Uhr
Goto Top
Nabend

Der Name "Array" für die INPUTS ist gar nicht passend finde ich face-wink

Zu deiner Frage:
<input type=radio name="type" id="1" value="Überschrift" checked> Überschrift   
<input type=radio name="type" id="1" value="Artikel"> Artikel  
Die Radiobuttons müssen also nur den gleichen Namen tragen, hier: "type".
Die PHP-Variable $_POST['type'] enthält nun entweder: "Artikel" oder "Überschrift" (als Standartwert weil es vorselectiert ist).

Und eine ID ist ein eindeutiger Bezeichner eines HTML-Elements und darf somit innerhalb eines Dokuments auch nur ein einziges mal verwendet werden !


~Arano
Seelbreaker
Seelbreaker 27.10.2009 um 21:31:06 Uhr
Goto Top
Das mit der ID war auch nur n versuch ob das so irgendwie hinhaut aber gut wieder etwas dazugelernt face-smile

Aber ich dachte, dass ich beim name den feldnamen angeben muss, damit der weiß wohin er den value speichert?

Das ganze Konstrukt hab ich mir auch von nem tutorial rauskopiert und eben reingesetzt face-smile

Mit der Lösung ist ja klar, dass ich die Radiogruppe definiert habe und dann nur eine Auswahlmöglichkeit habe. Aber wie werden jetzt die Werte "Artikel" in Feld1 der table "testdb" bzw. "Überschrift" in Feld2 der "testdb" geschrieben?

:edit:
Ahhh mensch, dass ich da auch nicht selber draufgekommen bin
Das war irgendwie die Gedankenstütze die ich gebraucht habe :D

<input type=radio name="Array[header]" value="Überschrift" checked> Überschrift  
<br>
<input type=radio name="Array[header]" value="Artikel"> Artikel  

So haut es auch hin, dann brauch ich nur 1 feld in der table, das Ergebnis (was ja eh nur 1 Wert sein soll) wird dann in das entsprechende feld geschrieben und ich bin glücklich und zufrieden face-smile

Danke an euch face-smile