Foros del Web » Programando para Internet » PHP »

Ayuda con Php y Mysql

Estas en el tema de Ayuda con Php y Mysql en el foro de PHP en Foros del Web. hola a todos......... Nesesito ayuda con un proyecto en php q estoy haciendo quisiera, saber como puede añadir consultas extras en una tabla html, con ...
  #1 (permalink)  
Antiguo 29/09/2010, 08:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 6
Antigüedad: 14 años, 8 meses
Puntos: 2
Ayuda con Php y Mysql

hola a todos.........
Nesesito ayuda con un proyecto en php q estoy haciendo quisiera, saber como puede añadir consultas extras en una tabla html, con un form donde ingrese el id de mi registro

por ejemplo tengo una tabla llamada usuario con los campos

codigo
usuario
email

quiero q cada vez q yo ingrese un numero el text segun el codigo de usuario se añada un registro a mi tabla donde voy a mostrar los datos

de antemano gracias y perdon la explicacion.....soy novato en esto de los foros
  #2 (permalink)  
Antiguo 29/09/2010, 15:10
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Ayuda con Php y Mysql

Hola novic, si lo que quieres es que al poner un valor en el campo automaticamente se inserte un dato en la DB sin recargar la pagina, lo tienes que hacer con AJAX.
Si lo haces con PHP, después de meter el valor has de hacer click y enviar el formulario con la consiguiente recarga de página.
De todas maneras no se entiende mucho tu pregunta, pon un poco de código o un ejemplo más detallado, salu22
  #3 (permalink)  
Antiguo 29/09/2010, 16:10
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Respuesta: Ayuda con Php y Mysql

Pues te pongo un ejemplo rapido con php y prototype:

Código Javascript:
Ver original
  1. Event.observe('form_add', 'submit', function(submit){
  2.     submit.stop(); // Detiene el envío de la forma
  3.     var url = 'process.php'; // Es el nombre del archivo que procesara la información
  4.     new Ajax.Request(url, {
  5.         parameters : '?' + this.serialize(),
  6.         method : 'POST',
  7.         onSuccess : function(transport) {
  8.             var json = transport.responseText.evalJSON();
  9.             $('div_table').update(json.html);
  10.         }
  11.     });
  12. });

Código HTML:
Ver original
  1. <form id="form_add">
  2. <label>Codigo:</label><input type="text" name="codigo" /><br />
  3. <label>Usuario:</label><input type="text" name="usuario" /><br />
  4. <label>Email:</label><input type="text" name="email" /><br /><br />
  5. <input type="submit" value="Agregar usuario" />
  6. </form>
  7.  
  8. <div id="div_table">
  9. <!-- Aquí se va a cargar el contenido enviado por ajax --!>
  10. </div>

Código PHP:
Ver original
  1. <?php
  2. // Obviamente primero tiene que hacer una conección a la base de datos
  3. // Esto te lo dejo a tu criterio, suponiendo que uses el PDO de php sería algo así:
  4. $db = new PDO(); // Creas la conección
  5. $data = array(); // Aquí guardaremos los datos a insertar enviados por post
  6. foreach ($_POST as $fld => $value) {
  7.     $data [] = $fld . '="' . $value . '"';
  8. }
  9. // Hacer esto esta mal, porque pueden hacerte XSS pero para ejemplo está bien
  10. $insert = 'INSERT INTO tbl_usuarios SET ' . implode(',', $data);
  11. $db->query($insert); // Esto inserta los datos en la base
  12. // Ahora obtenemos los datos en la base
  13. $select = 'SELECT * FROM tbl_usuarios';
  14. $rows = $db->exec($select);
  15. $html = '<table><thead><tr><td>Codigo</td><td>Usuario</td><td>Email</td></tr></thead><tbody>';
  16. foreach ($rows as $aRow) {
  17.     $html .= '<tr><td>' . $aRow ['codigo'] . '</td><td>' . $aRow ['usuario'] . '</td><td>' . $aRow ['email'] . '</td></tr>';
  18. }
  19. $html .= '</tbody></table>';
  20. echo json_encode (array ('html' => $html));
  21.  
  22. // Nota que no está cerrado el php con el tag ?> Esto por que según el manual de Zend es una buena práctica y nos ayuda a evitar errores de cabeceras enviadas antes de tiempo

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:12.