PHP - no puedo actualizar con update un formulario con radio buttom

 
Vista:
sin imagen de perfil

no puedo actualizar con update un formulario con radio buttom

Publicado por Marcos (31 intervenciones) el 02/05/2019 19:45:21
Buenas,
Estoy realizando un pequeño programa de php haciendo pruebas y llegue a un inconveniente. No puedo realizar la actualizacion de una fecha de un torneo de fùtbol. Lo que yo busco es que solo una fecha esté activa. Al seleccionar otra fecha activa con el radio buttom, se desactive la seleccionada anteriormente
El problema es que el value cambia en todos a 1 (activo) en mi base de datos, y por ende, al ser radio buttom, solo me selecciona el último de la lista.

Aqui el codigo:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CARGADO DE FECHAS</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<?php require '../partials/header.php' ?>
<?php echo $user['username']; ?>

<br />
<br />

<form action="fecha.php" method="POST">
<input type="hidden" name="id_fecha" value="<?php $r['id_fecha']; ?>" />
<label>NUMERO DE FECHA</label>
<input name="numero_fecha" type="text" size="2" required>
<input type="hidden" name="estado" value="<?php $r['estado']; ?>" />
<input type="submit" value="Cargar">
</form>

<?php if(!empty($message)): ?>
<p> <?= $message ?></p>
<?php endif; ?>


<table class="pure-table pure-table-horizontal">
<thead>
<tr>
<th>fecha</th>
<th>estado</th>
</tr>
</thead>
<tbody><?php foreach ($response as $t){?>
<tr>

<td><?php echo $t['numero_fecha']; ?></td>
<form action="fecha_php.php" method="post">
<td>
<?php if ($t['estado']=="1"): ?>
<input type="radio" name="estado" checked="checked" value="1" />
<?php else : ?>
<input type="radio" name="estado" value="0" />
<?php endif; ?>
<input type="hidden" name="id_fecha" value="<?php echo $t['id_fecha']; ?>" />
<?php } ?>



</td>
</tr>
</tbody>
<input type="submit" value="actualizar"/>
</form>
</table>

<?php


ACCIONES DEL PHP

<?php
require '../database.php';

$add = "UPDATE fecha SET estado=(:estado) WHERE id_fecha=(:id_fecha)";
$d = $conn->prepare($add);
$d->bindParam(':id_fecha', $_POST['id_fecha']);
$d->bindParam(':estado', $_POST['estado']);
if ($d->execute()) {
$message = 'Datos guardados';
} else {
$message = 'Ingreso invalido';
}

if (!empty($_POST['id_fecha']) && !empty($_POST['numero_fecha']) && !empty($_POST['estado'])) {
$agregar = "INSERT INTO fecha (id_fecha, numero_fecha, estado) VALUES (:id_fecha, :numero_fecha, :estado)";
$a = $conn->prepare($agregar);
$a->bindParam(':id_fecha', $_POST['id_fecha']);
$a->bindParam(':numero_fecha', $_POST['numero_fecha']);
$a->bindParam(':estado', $_POST['estado']);
if ($a->execute()) {
$message = 'Datos guardados';
} else {
$message = 'Ingreso invalido';
}
}
$message = '';

$response = $conn->prepare("SELECT * FROM fecha");
$response->execute();

Espero que me puedan ayudar. Es dificil de explicar el problema, pero si alguien me ayuda lo agradeceria mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder