Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/02/2014, 20:50
raulgranadosraul
 
Fecha de Ingreso: julio-2013
Mensajes: 174
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Problema con formulario en ventana modal

Cita:
Iniciado por Alexis88 Ver Mensaje
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
  1. <?php
  2. //Realizo la conexión
  3. $conexion = new mysqli("localhost", "root", "password", "bd_personas");
  4.  
  5. //Si se produce un error al intentar conectarme a la BD, lanzo un mensaje de error y finalizo el script
  6. if ($conexion->connect_error)
  7.     exit ("ERROR: No se pudo realizar la conexión a la base de datos");
  8.  
  9. //Caso contrario, continuo con el script
  10.  
  11. //Realizo la consulta
  12. $query = $conexion->query("SELECT * FROM tabla");
  13.  
  14. //Si se encuentran datos en la consulta
  15. if ($query->num_rows) {
  16. ?>
  17.     <table border = 1>
  18.         <tr>
  19.             <th> ID </th>
  20.             <th> NOMBRE </th>
  21.             <th> EDAD </th>
  22.             <th> OPCIONES </th>
  23.         </tr>
  24. <?php
  25.     //Creo un array asociativo con dichos datos y los itero para mostrarlos
  26.     while ($row = $query->fetch_array()) {
  27. ?>
  28.         <tr>
  29.             <td> <?php echo $row["ID"]; ?> </td>
  30.             <td> <?php echo $row["NOMBRE"]; ?> </td>
  31.             <td> <?php echo $row["EDAD"]; ?> </td>
  32.             <td>
  33.                 <button onclick = "miFuncion('<?php echo $row["ID"]; ?>')">
  34.                     OPCIÓN
  35.                 </button>
  36.             </td>
  37.         </tr>
  38. <?php
  39.     }
  40.     //Libero a la memoria de los resultado de la consulta
  41.     $query->free();
  42. ?>
  43.     </table>
  44. <?php
  45. }
  46. else { //Si no se encuentran datos en la consulta
  47.     echo "No se encontraron datos en la consulta";
  48. }
  49.  
  50. //Cierro la conexión
  51. $conexion->close();
  52. ?>

Y en miFuncion:

Código Javascript:
Ver original
  1. function miFuncion (id) {
  2.     alert (id);
  3. }

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
  1. <script>
  2. function mostrarVentana3(idCita)
  3. {
  4.     var ventana3 = document.getElementById('miVentana3');
  5.     ventana3.style.marginTop = "100px";
  6.     ventana3.style.left = ((document.body.clientWidth-500) / 2) +  "px";
  7.     ventana3.style.display = 'block';
  8. }
  9. function cerrarVentana3()
  10. {
  11.     var ventana3 = document.getElementById('miVentana3');
  12.     ventana3.style.display = 'none';
  13. }
  14. </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">&nbsp;</td>
          <td>
				<input type="submit" value="Guardar" style="cursor:pointer" class="button" />&nbsp;
				<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