Comentarles que estoy queriendo crear un abm, alta, baja y modificacion de registros con ajax. En otras palabras, pasar un abm tradicional hecho en php y mysql a ajax.
bien, al grano.
La insercion de registros ya la he hecho y funciona perfecto. Consta de dos paginas, una el index y la otra la que procesa las variables del formulario e inserta el registro.
index.php
Código:
inserta.php<form action="inserta.php" method="get"> <input type="text" name="nombre" id="nombre"/> <input type="submit" value="+" id="enviar"/> </form> <script type="text/javascript"> var x; x=$(document); x.ready(inicializarEventos); function inicializarEventos() { var x; x=$("#enviar"); x.click(presionSubmit); } function presionSubmit() { var v=$("#nombre").attr("value"); $.get("inserta.php",{nombre:v}); return false; } </script>
Código:
Como les dije funciona perfecto pero tengo el problema que una vez que se hace el "insert into" el index no se refrezca automaticamente.<?php require_once("conexion.php"); $sql= "insert into registros values (null, '".$_GET{"nombre"}."') "; $res=mysql_query($sql,$conect); ?>
Es lógico que esto ocurra porque traigo los registros de este modo:
Código:
He aquí mi problema. <?php $consulta=" select * from registros "; $respuesta=mysql_query($consulta,$conect); while($reg=mysql_fetch_array($respuesta)) { ?> <tr class="registros"> <td><span class="id"><?php echo $reg['id']?></span></td> <td><span class="nombre"><?php echo $reg['nombre']?></span></td> </tr> <?php } ?>
¿Como traer registros sin usar $.get o $.post?
He intentado solucionarlo, aunque sin éxito, del siguiente modo:
Creé una pagina llamada pagina.php la cual alojé dentro de una carpeta llamada cargas.
Dentro de pagina.php incluí:
Código:
y luego en index.php dentro de <head></head><?php $consulta=" select * from registros "; $respuesta=mysql_query($consulta,$conect); while($reg=mysql_fetch_array($respuesta)) { ?> <tr class="registros"> <td><span class="id"><?php echo $reg['id']?></span></td> <td><span class="nombre"><?php echo $reg['nombre']?></span></td> </tr> <?php } ?>
Código:
Bien, esto no funcionó. <script type="text/javascript"> $(document).ready(function(){ $('#cargamos').load('cargas/pagina.php'); }); </script>
Me han comentado que para resolver este problema debo usar json.
Pero no tengo idea de como llevar a cabo esta tarea usando json.
Desde ya le agradezco si pueden compartirme un link, tutorial o ejemplo.
Sin mas, un fuerte abrazo.
/////////////////
Edito:
En este enlace pueden ver en funcionamiento el trabajo.
Notaran que luego de hacer click en el boton "+" se inserta el registro sin refrescar la pagina.
Pero no muestra el registro hasta que no pulsamos f5.