Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] guardar datos e irlos motrando en un div

Estas en el tema de guardar datos e irlos motrando en un div en el foro de PHP en Foros del Web. Hola chicos, una pregunta necesito enviar un formulario se muestren en "vivo" los resultados , es decir que al presionar guardar se muestren en un ...
  #1 (permalink)  
Antiguo 31/05/2013, 10:01
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
guardar datos e irlos motrando en un div

Hola chicos, una pregunta


necesito enviar un formulario se muestren en "vivo" los resultados , es decir que al presionar guardar se muestren en un div de la misma pagina. Es decir que diera la impresion que al guardar los datos, estos se bajaran y se mostraran en una tabla

ya se que esto se hace con ajax, pero solo tengo la parte que hace el insert, ahora, se que se hace un select para mostrar los datos, porq al hacer el insert no hay datos que mostrar.
Espero hacerme entender
algun ejemplo que me puedan ayudar?

gracias.
PD. solo estoy buscando por un guia q me explique como hcerlo, no codigo (aunq si tienen codigo no problem :P).
  #2 (permalink)  
Antiguo 31/05/2013, 10:07
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: guardar datos e irlos motrando en un div

ok muestranos el codigo que tienes preparado y si tienes errores te ayudamos...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #3 (permalink)  
Antiguo 31/05/2013, 10:08
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: guardar datos e irlos motrando en un div

Hola.

¿Para qué insertas y luego tiras de esa consulta? Es mucho más rápido que insertes en tu bd sólo y luego el contenido del formulario sea agregado dinámicamente a la página por JS.

Saludos!
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #4 (permalink)  
Antiguo 31/05/2013, 10:55
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: guardar datos e irlos motrando en un div

ok
esta es mi clase conexion funciona bn

Código PHP:
Ver original
  1. <?php
  2.  
  3. class Mysql
  4. {
  5.     var $server = "192.168.x.x";
  6.     var $user = "root";
  7.     var $pass = "toor";
  8.     var $data_base = "webbd";
  9.     var $conexion;
  10.     var $flag = false;
  11.     var $error_conexion = "Error en la conexion a MYSQL";
  12.    
  13.     function connect(){
  14.             $this->conexion = new mysqli($this->server,$this->user,$this->pass, $this->data_base) or die($this->error_conexion);
  15.             $this->flag = true;
  16.             @mysqli_query("SET NAMES utf8");
  17.             return $this->conexion;
  18.     }
  19.    
  20.     function close(){
  21.         if($this->flag == true){
  22.             @mysqli_close($this->conexion);
  23.         }
  24.     }
  25.    
  26.     function query($query){ //ejecuta el query
  27.         return @mysqli_query($this->conexion,$query) or die('Error: ' . mysqli_error($this->conexion ));
  28.     }
  29.    
  30.     function f_obj($query){ //crea un objeto de la consulta
  31.         return @mysqli_fetch_object($query);
  32.     }
  33.  
  34.     function f_assoc($query){  //trae los datos en forma de array
  35.         return @mysqli_fetch_assoc($query) or die('Error: ' . mysqli_error($this->conexion));
  36.     }
  37.    
  38.     function f_array($query){  
  39.         return @mysqli_fetch_array($query) or die('Error: ' . mysqli_error($this->conexion));
  40.     }
  41.  
  42.     function f_num($query){  //cuenta las filas
  43.         return @mysqli_num_rows($query);
  44.     }
  45.    
  46.  
  47.    
  48.     function free_sql($query){
  49.         mysqli_free_result($query);
  50.     }
  51. }
  52.  
  53. ?>

este es el formulario

Código PHP:
Ver original
  1. <form name="frmsoporte" class="frmsoporte" method="GET" >    
  2.  
  3. <label for="idClientes">Codigo : </label>
  4. <input  name="idClientes" type="text" id="idClientes" class="idClientes" size="20"  maxlength="20" value="" onKeyUp="buscarClientes()" /> </br>
  5.  
  6. <label for="solicitante">Qui&eacute;n llama: </label>
  7. <input name="solicitante" type="text" id="solicitante"  size="30" maxlength="30" /> </br>
  8.  
  9.  
  10.  
  11. <label for="estado">Satisfactorio: </label>
  12. <label for="estado">SI </label>
  13. <input type="radio" name="estado" value="SI" class="estado">
  14. <label for="estado">NO </label>
  15. <input type="radio" name="estado" value="NO" class="estado">
  16. <center><input  id="accion" name="accion" type="button" value="Guardar" class="button" onClick="guardarSoporte()"></center>
  17. <div id="divoporte">
  18. </div>
  19. </form>

en la clase tengo el siguiente metodo
Código PHP:
Ver original
  1. function guardar($idClientes,$solicitante)
  2. {
  3. $sql = new Mysql;
  4. $sql->connect();        
  5. $query = "INSERT INTO soportes (IdClientes,Solicitante)
  6.           VALUES('{$idClientes}','{$solicitante}');"; //
  7. $result=$sql->query($query);
  8.  
  9. if (!$result){
  10. return false;
  11. echo ('Registro no encontrado');
  12. }
  13. else{
  14. return $result;
  15.   }
  16. }

y en un archivo funciones.php

Código PHP:
Ver original
  1. $idClientes=$_GET['idClientes'];
  2. $solicitante=$_GET['solicitante'];
  3. $accion=$_GET['accion'];  
  4.  
  5. case "Guardar":
  6.         $guardarDatos=new Clase;
  7.        
  8.         $guardarDatos->guardar($idClientes,$solicitante);
  9.         echo "guardado";   
  10.         break;

el programa guarda bien y
ya he intentado muchas cosas, como hacer un select en el case e ir imprimiendo una tabla pero no me funciona y no se cual es la mejor manera de mostrar los datos. Ayuda!! gracias

PD: alberto510a no entendi muy bien lo q dijiste me explicas un poco? gracias
  #5 (permalink)  
Antiguo 31/05/2013, 10:58
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: guardar datos e irlos motrando en un div

se me olvide el ajax
Código PHP:
Ver original
  1. function guardarSoporte(){
  2. accion = document.getElementById('accion').value;
  3. idClientes=document.frmsoporte.idClientes.value;
  4.  
  5. ajax=Ajax();
  6. url="funciones.php?accion="+accion+"&idClientes="+idClientes+"&solicitante="+solicitante;
  7.  
  8. ajax.open("GET", url, true);
  9. ajax.onreadystatechange=function() {
  10. if (ajax.readyState==4) {    
  11.  alert('Soporte Guardado Satisfactoriamente!');
  12.       document.getElementById("divoporte").innerHTML =ajax.responseText;  
  13.  
  14.      }  
  15.  }
  16.  ajax.send(null);
  17. }

el codigo esta un poco recortado porq son muchas mas variables es para comodidad
  #6 (permalink)  
Antiguo 31/05/2013, 10:59
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años
Puntos: 35
Respuesta: guardar datos e irlos motrando en un div

A lo mejor no te entendí yo a tí.
Verás creo que lo que estás haciendo es lo siguiente:

1º Procesas un formulario que envía datos.
2º Estos datos son insertados en una bd.
3º A continuación sacas esos mismos datos insertados en una bd y los devuelves a la página con AJAX para mostrarlos en un div.

Yo te propongo esto:

1º Procesas formulario que envía datos.
2º Se insertan los datos en la bd.
3º Se ejecuta un script que inserta esa misma información que envió el formulario sin recogerla de la db (lo que acelera el proceso de forma óptima).

Saludos!
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #7 (permalink)  
Antiguo 31/05/2013, 11:06
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: guardar datos e irlos motrando en un div

claroooo ya entendi ps mira hice lo siguiente:

Código PHP:
Ver original
  1. case "Guardar":
  2.         $guardarDatos=new Soporte;
  3.         $guardarDatos->guardar($idClientes,$solicitante);
  4.         echo "guardado";   
  5.         echo '<table style="border:1px solid #CC6633; color:#CC6633;width:95%;">';   
  6.             echo '<tr style="background:#CCC;">';
  7.             echo "<td>1</td>";
  8.             echo "<td>2</td>";
  9.             echo "<td>3</td>"; 
  10.             echo "</tr>";      
  11.            
  12.             echo '<tr style="background:#ccc;">';
  13.             echo "<td>".$idClientes."</td>";
  14.             echo "<td>".$solicitante."</td>";
  15.             echo "<td>".$area."</td>";
  16.             echo "</tr>";      
  17.  
  18.         echo '</table>';
  19.  
  20.         break;

tienes toda la razon de coger los datos directamente del formulario, muchas gracias no habia pensado en eso que pelota soy, si vez alguna manera de optimizar mi codigo me cuentas gracias!

Etiquetas: formulario, resultados, select, tabla
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 07:22.