Cita:
Iniciado por Alexis88 Quizá con un ejemplo se entienda mejor lo que expliqué. Supongamos que en una tabla de la BD, tengo 3 campos; ID, NOMBRE y EDAD, entonces, lo que quiero hacer es listar todos los datos de dicha tabla y colocar un botón al final de cada fila generada, dicho botón llamará a una función JavaScript a la que le pasaré el ID de dicha fila o registro, en la función, solamente me limitaré a mostrar una alerta con el ID del registro, para comprobar que cada botón tiene el ID que le corresponde.
Código PHP:
Ver original<?php
//Realizo la conexión
$conexion = new mysqli("localhost", "root", "password", "bd_personas");
//Si se produce un error al intentar conectarme a la BD, lanzo un mensaje de error y finalizo el script
if ($conexion->connect_error)
exit ("ERROR: No se pudo realizar la conexión a la base de datos");
//Caso contrario, continuo con el script
//Realizo la consulta
$query = $conexion->query("SELECT * FROM tabla");
//Si se encuentran datos en la consulta
if ($query->num_rows) {
?>
<table border = 1>
<tr>
<th> ID </th>
<th> NOMBRE </th>
<th> EDAD </th>
<th> OPCIONES </th>
</tr>
<?php
//Creo un array asociativo con dichos datos y los itero para mostrarlos
while ($row = $query->fetch_array()) {
?>
<tr>
<td> <?php echo $row["ID"]; ?> </td>
<td> <?php echo $row["NOMBRE"]; ?> </td>
<td> <?php echo $row["EDAD"]; ?> </td>
<td>
<button onclick = "miFuncion('<?php echo $row["ID"]; ?>')">
OPCIÓN
</button>
</td>
</tr>
<?php
}
//Libero a la memoria de los resultado de la consulta
$query->free();
?>
</table>
<?php
}
else { //Si no se encuentran datos en la consulta
echo "No se encontraron datos en la consulta";
}
//Cierro la conexión
$conexion->close();
?>
Y en
miFuncion:
Código Javascript
:
Ver originalfunction miFuncion (id) {
alert (id);
}
Las impresiones cortas que hago con PHP dentro de HTML como
<?php echo $row["ID"]; ?>, también las puedes hacer así:
<?=$row["ID"]?>.
Analiza este ejemplo y adáptalo a tus necesidades, saludos.
Ei muchas gracias, mil.
Captura bien el id y me lo muestra en un alert.
Estoy intentando que se me muestre en una modal que tengo con un form de actualizar registro en php.
¿ Sabes cómo podría mostrarlo en un campo o en un hidden para enviarlo con el form ?
Esta es la función js tal cual ha quedado ahora
Código Javascript
:
Ver original<script>
function mostrarVentana3(idCita)
{
var ventana3 = document.getElementById('miVentana3');
ventana3.style.marginTop = "100px";
ventana3.style.left = ((document.body.clientWidth-500) / 2) + "px";
ventana3.style.display = 'block';
}
function cerrarVentana3()
{
var ventana3 = document.getElementById('miVentana3');
ventana3.style.display = 'none';
}
</script>
y en la ventana modal que muestro tengo este form:
Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" name="form8" id="form8">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="left" valign="top" style="padding-top:5px">ID: </td>
<td nowrap="nowrap" align="left" valign="middle" style="padding-left:8px;padding-top:5px">[COLOR="Red"]Aquí tengo que mostrar id[/COLOR]<textarea name="txtComentario" cols="50" rows="5" value="" style="cursor:text;resize:none">id</textarea></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td>
<input type="submit" value="Guardar" style="cursor:pointer" class="button" />
<input type="button" value="Cerrar" onclick="javascript:cerrarVentana3();" style="cursor:pointer" class="button" />
</td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form8" />
<input type="hidden" name="idCita" value="[COLOR="red"]Aqui tengo que enviar el id que antes debo pasar por js y devolverlo aqui en php[/COLOR]" />
</form>
Si no puede ser con esto, no pasa nada, estamos en paz.
Gracias una vez más
Raúl