Aclaro que esto es
offtopic pues Ajax es una técnica utilizada en JavaScript, no en PHP. Para ser breve, utilizaré el método Ajax de jQuery.
Código HTML:
Ver originalBuscar:
<input type = "text" id = "dato" />
<form action = "modificar.php" method = "post"> Nombre:
<input type = "text" name = "nombre" /> Apellido:
<input type = "text" name = "Apellido" /> Edad:
<input type = "text" name = "Edad" /> <input type = "hidden" name = "id" /> <input type = "submit" />
Código Javascript
:
Ver original$("#dato").keypress(function(){
$.ajax({
url: "busqueda.php?id=" + this.value,
type: "GET",
dataType: "JSON"
}).done(function(response){
if (response.estado == 1){
$("form [name=id]").val(response.id);
$("form [name=nombre]").val(response.nombre);
$("form [name=apellido]").val(response.apellido);
$("form [name=edad]").val(response.edad);
}
else{
$("form [name=id]").val("");
$("form [name=nombre]").val("");
$("form [name=apellido]").val("");
$("form [name=edad]").val("");
}
});
});
Código PHP:
Ver original$query = mysqli_query($conexion, 'SELECT * FROM usuarios WHERE id = ' . $dato); $datos = array('id' => $row['id'], 'nombre' => $row['nombre'], 'apellido' => $row['apellido'], 'edad' => $row['edad'], 'estado' => 1); }
else
$datos = array('estado' => 0);
Ahora, la explicación. En el documento tenemos una caja de texto en la cual ingresaré el nombre de la persona a buscar, mientras que abajo están las cajas que se cargarán con los datos de la persona encontrada. En el código JS, asigno el méto
keypress
a la caja de búsqueda, indicando que cuando se escriba en ella, se envíe una petición asíncrona al archivo
busqueda.php
, adjuntado el valor escrito. En el archivo PHP, desinfecto el dato recibido y realizo la búsqueda en la tabla de la base de datos, haciendo un filtrado con el dato recibido para el campo 'id', que en tu caso es el número de usuario. Si obtengo resultados de la búsqueda, creo un array en el que insertaré el 'id', 'nombre', 'apellido' y 'edad' de la persona encontrada en la búsqueda, pero además, habrá un quinto dato de nombre 'estado' con el valor 1, el cual le indicará al archivo anterior si se encontraron o no datos. Si no hay datos, asigno el 'estado' 0 al array. Finalmente, codifico el array en formato JSON y lo imprimo, siendo esta la respuesta de la petición asíncrona.
Regresando al método Ajax, una vez que reciba una respuesta a la petición, verifico el valor de 'estado'; si este es igual a 1, quiere decir que se encontraron coincidencias y procedo a llenar las respectivas cajas de texto con los datos recibidos, caso contrario, dejo las cajas vacías.
Adapta esto a lo que necesitas hacer.
Saludos