AJAX - Traer un dato de Base de datos con el id usando ajax ,php,my sql, MVCPOO

 
Vista:
Imágen de perfil de cristian

Traer un dato de Base de datos con el id usando ajax ,php,my sql, MVCPOO

Publicado por cristian (11 intervenciones) el 03/03/2017 18:34:10
Tengo la suiguiente vista

1
2
3
4
5
6
7
<div class=" form-group col-md-6 col-sm-12">
<label class="control-label" for="text">Nit del proveedor:</label>
<input type="text" name="busqueda" id="busqueda" value="" placeholder="" maxlength="30" autocomplete="off" />
 
<div id="resultadoBusqueda"></div>placeholder="nombre" required >
 
</div>

quiero q al ingresar el nit me traiga el nombre al q pertenece automaticamente sin recargar la pagina sin utlizar submit, y si no existe q me lo diga

el problema es que el codigo q busque no esta con arquitectura MVC donde las consultas esten en el modelo
se resivan en el controller y y lo manden a la vista atravez de controlador y accion.


codigo en otra arquitectura



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//Archivo de conexión a la base de datos
require('conexion.php');
 
//Variable de búsqueda
$consultaBusqueda = $_POST['valorBusqueda'];
 
//Filtro anti-XSS
$caracteres_malos = array("<", ">", "\"", "'", "/", "<", ">", "'", "/");
$caracteres_buenos = array("& lt;", "& gt;", "& quot;", "& #x27;", "& #x2F;", "& #060;", "& #062;", "& #039;", "& #047;");
$consultaBusqueda = str_replace($caracteres_malos, $caracteres_buenos, $consultaBusqueda);
 
//Variable vacía (para evitar los E_NOTICE)
$mensaje = "";
 
 
//Comprueba si $consultaBusqueda está seteado
if (isset($consultaBusqueda)) {
 
	//Selecciona todo de la tabla mmv001 
	//donde el nombre sea igual a $consultaBusqueda, 
	//o el apellido sea igual a $consultaBusqueda, 
	//o $consultaBusqueda sea igual a nombre + (espacio) + apellido
	$consulta = mysqli_query($conexion, "SELECT * FROM mmv001
	WHERE nombre COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%' 
	OR apellido COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
	OR CONCAT(nombre,' ',apellido) COLLATE UTF8_SPANISH_CI LIKE '%$consultaBusqueda%'
	");
 
	//Obtiene la cantidad de filas que hay en la consulta
	$filas = mysqli_num_rows($consulta);
 
	//Si no existe ninguna fila que sea igual a $consultaBusqueda, entonces mostramos el siguiente mensaje
	if ($filas === 0) {
		$mensaje = "<p>No hay ningún usuario con ese nombre y/o apellido</p>";
	} else {
		//Si existe alguna fila que sea igual a $consultaBusqueda, entonces mostramos el siguiente mensaje
		echo 'Resultados para <strong>'.$consultaBusqueda.'</strong>';
 
		//La variable $resultado contiene el array que se genera en la consulta, así que obtenemos los datos y los mostramos en un bucle
		while($resultados = mysqli_fetch_array($consulta)) {
			$nombre = $resultados['nombre'];
			$apellido = $resultados['apellido'];
			$edad = $resultados['edad'];
 
			//Output
			$mensaje .= '
			<p>
			<strong>Nombre:</strong> ' . $nombre . '<br>
			<strong>Apellido:</strong> ' . $apellido . '<br>
			<strong>Edad:</strong> ' . $edad . '<br>
			</p>';
 
		};//Fin while $resultados
 
	}; //Fin else $filas
 
};//Fin isset $consultaBusqueda
 
//Devolvemos el mensaje que tomará jQuery
echo $mensaje;
?>

esta seria la funcion en js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function() {
    $("#resultadoBusqueda").html('<p>JQUERY VACIO</p>');
});
 
function buscar() {
    var textoBusqueda = $("input#busqueda").val();
 
     if (textoBusqueda != "") {
        $.post("buscar.php", {valorBusqueda: textoBusqueda}, function(mensaje) {
            $("#resultadoBusqueda").html(mensaje);
         });
     } else {
        $("#resultadoBusqueda").html('<p>JQUERY VACIO</p>');
        };
};

.

Mi objetivo es ingresar un numero en el input y si existe ese nit o numero en la base de datos me traiga el nombre a otro input u otro campo y si no existe que me limpie el input y mande alert ,todo sin botones . gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder