
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
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
esta seria la funcion en js
.
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
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


0