Ich schreibe den Wert mehrerer Radiobuttons in eine Tabelle, brauche eigentlich aber den Status 1 oder 0. Das funktioniert soweit bis auf eine Kleinigkeit. Ich muss das Formular 2x abschicken. Beim ersten Mal wird der Wert aktualisiert aber der Status noch nicht. Erst beim 2. Mal, nachdem die Seite noch einmal aufgerufen wurde. Irgend etwas fehlt da.
PHP-Code:
<form method ="post">
<?php
if(isset($_POST["Submit"])){
$ga = (isset($_POST["ga"])) ? $_POST["ga"]:"";
$sql = "UPDATE bw2 SET wert = :ga, a = :a2, b = :b2, c = :c2 WHERE id= 1";
$statement = $pdo->prepare($sql);
$statement->bindValue(':ga', $_POST["ga"]);
$statement->bindValue(':a2', $_POST["a2"]);
$statement->bindValue(':b2', $_POST["b2"]);
$statement->bindValue(':c2', $_POST["c2"]);
$update = $statement->execute();
}
// Abfrage durchführen
$sql = "SELECT * FROM bw2 WHERE ID=1";
$result = $pdo->query( $sql );
echo "<font size="5">Ausgabe der Datensätze:</font> </br></br>";
foreach( $result as $row ){
echo "Eintrag Nr: " . $row[ 'id' ] . "<br/>" . "-: " . $row[ 'wert' ] . "<br/>" .$row[ 'a' ] . "<br/>" .$row[ 'b' ] . "<br/>" .$row[ 'c' ] . "<br/><br/>";
}
if($row['wert'] == "A"){
$a = 'checked="checked"';
}else{
$a = '';
}
if($row['wert'] == "B"){
$b = 'checked="checked"';
}else{
$b = '';
}
if($row['wert'] == "C"){
$c = 'checked="checked"';
}else{
$c = '';
}
if( $row['wert'] == "A"){
$a1 = 1;
}else{
$a1 = 0;
}
if( $row['wert'] == "B"){
$b1 = 1;
}else{
$b1 = 0;
}
if( $row['wert'] == "C"){
$c1 = 1;
}else{
$c1 = 0;
}
?>
<h2> auswählen: </h2>
<input type ="radio" name ="ga" value="A" <?php echo $a; ?> /> A
<input type ="hidden" name ="a2" value="<?php echo $a1; ?>" /> <br />
<input type ="radio" name ="ga" value="B" <?php echo $b; ?> /> B
<input type ="hidden" name ="b2" value="<?php echo $b1; ?>" /> <br />
<input type ="radio" name ="ga" value="C" <?php echo $c; ?> /> C
<input type ="hidden" name ="c2" value="<?php echo $c1; ?>" /> <br />
<p>-----------------------</p>
<input type ="submit" name="Submit" value="2x klick"/>
</form>
Code:
Tabelle: `bw2` `id`, `name`, `wert`, `a`, `b`, `c` 1, 'ga', 'B', 0, 1, 0
Kommentar