Pues la estructura sería:
- Página del formulario:
* Meter el código de Ajax y que llame al archivo pasándole los campos via post.
* Y crear un div oculto donde introducir lo devuelto por el archivo php.
- Archivo php:
* Recoges los datos con $_POST.
* Consultas la base de datos con dichos datos.
* Haces un echo a un fragmento de javascript que te ponga dichos datos en los campos.
* Y el propio código del ajax, se encarga de ejecutar dicho fragmento de código en la página del formulario.
Código de ejemplo:
Formulario:
Código HTML:
Ver original <label style="width:100px; float:left;">ID
</label><input type="text" name="Identifica" value=""> Nota: Poniendo el id se rellenan los otros datos solos.
<br> <label style="width:100px; float:left;">Articulo
</label><input type="text" name="Arti" value=""><br> <label style="width:100px; float:left;">Precio
</label><input type="text" name="Precio" value=""><br> $("input[name='Identifica']").keypress(function(e) {
if(e.which == 13) {
$.post('Ajax.php', {
ID : $("input[name='Identifica']").val()
}, function(data){
$('#Oculto').html(data);
});
}
});
Archivo que lo procesa:
Código PHP:
Ver original<script>
$("input[name='Arti']").val('');
$("input[name='Precio']").val('');
</script>
<?php
require_once('Archivo_Conex.php');
$Iden = (is_numeric($_POST['ID']))?
$_POST['ID']:NULL;
$Consulta = 'SELECT * FROM Tabla WHERE Campo = '.$Iden.';';
$Fila = $Conexion->query($Consulta);
$Registro = $Fila->fetch_assoc();
$TotalFilas = $Conexion->affected_rows;
if($TotalFilas == 0){
echo "<script>alert('No hay valores que coincidan con la búsqueda.');</script>";
} else {
?>
<script>
$("input[name='Arti']").val("<?php echo $Registro['Articulo'];?>");
$("input[name='Precio']").val("<?php echo $Registro['Precio'];?>");
</script>
<?php
}
} else {
echo "<script>alert('Estas metiendo un valor no numérico');</script>";
}
?>
Ejemplo funcionando:
Ejemplo.