Como recuperar los datos de un listado en PHP

He hecho un script para poder listar y dar de alta registros, lo que ahora me pasa es que no se como hacerlo para poder seleccionar un registro del listado para poder modificarlo o eliminarlo en la BBDD.
Aquí paso el código del listado
-----------
<?php
$conexion = mysql_connect("*********","****","********");
mysql_select_db('DB', $conexion); // selecciona la base de datos
$tabla = mysql_query("SELECT * FROM platsset ORDER BY szCastella"); // selecciono todos los registros de la tabla usuarios, ordenado por nombre
?>
<table border="1" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td> Plato</td>
<td> Editar</td>
<td> Español</td>
<td> Portugués</td>
</tr>
<?php
while ($registro = mysql_fetch_array($tabla)) // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
{
?>
<tr>
<td>
<?php
echo $registro['nCodiPlat']; // Codi de Plat
?></td>
<td>
<?php
echo $registro['szCastella']; // castella
?></td>
<td><?php
echo $registro['szFrances'] ; //Frances
?></td>
<td><?php
echo $registro['szPortugues'] ; //Portugues
?></td>
<td><?php
echo '<br>';
?>
</td>
</tr>
<?php
} // fin del bucle de ordenes
mysql_free_result($tabla); // libera los registros de la tabla
mysql_close($conexion); // cierra la conexion con la base de datos
?>
</Table>
<FORM name="Nuevo Plato" action="PlatNouDlg.php" >
<input type="submit" value="Nuevo Plato" name="Nuevo Plato">
</FORM>
<?php
--------------

1 Respuesta

Respuesta
1
Para empezar suele ser una buena práctica disponer de un campo de identificación en cada tabla que identifique únicamente a cada registro. Suele ser un campo numérico autoincremental y se le suele llamar id.
Una vez tengas identificado unívocamente cada registro va a ser más fácil poder seleccionarlo.
Para ello puedes añadir un radio-button a cada fila por ejemplo, de manera que el usuario pueda seleccionar una fila. Si el valor que le das al radio_button coincide con el id del registro, cuando envíes el formulario ya sabrás el registro seleccionado y podrás editarlo o eliminarlo según lo que se escoja.
Si tu Codi de Plat es único para cada registro, también lo puedes usar como identificador (eso no lo puedo saber yo, tienes que saberlo tu).
Suponiendo que sea así, puedes añadir el radio button de esta forma:
while ($registro = mysql_fetch_array($tabla)) // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
{
?>
<tr>
<td>
<input type="radio" name="seleccion" value="<?php echo "sel" . $registro['nCodiPlat']; ?>"></td>
<td>
<?php
echo $registro['nCodiPlat']; // Codi de Plat
?></td>
<td>
Cuando recibas el formulario, el valor de selección será 'sel' más el código con lo que puedes extraer fácilmente el registro deseado.
Muchas gracias, ya lo he solucionado de la manera que abajo indico ya que así ya directamente se selecciona el registro a modificar, y por lo del ID pido disculpas en la definición de variables, ya que soy programador de visual c++ y desde siempre he utilizado la notación húngara para la definición de variables, tablas y BBDD.
Muchas gracias ..
while ($registro = mysql_fetch_array($tabla)) // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
{
$registroTmp=$registro['nCodiPlat'];
?>
<tr>
<td align="center">
<FORM name='Modifica' action='ModificaDlg.php' method='post' >
<input type="submit" name="Modifica" value="<?php echo $registroTmp;?>" >
</FORM>
</td>
<td><?php
echo $registro['szCastella']; // castella
?></td>
<td><?php
...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas