Buscador realizado en HTML utilizando como lenguaje de programación PHP, la tecnología AJAX y a MySQL como motor de base de datos.
Explicación:
Antes que todo, para el ejemplo utilizamos una base de datos llamada database que contiene una sóla tabla llamada personas. Ésta tan sólo tiene dos campos: cod y nombre.
Tenemos el archivo conexion.php para conectarse a la base de datos:
<?php
function conexion(){
$con = mysql_connect("localhost","root","");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
return($con);
}
?>
El archivo buscajax.php es la vista de nuestra aplicacion donde creamos nuestro código html. En él incluimos la hojas de estilos y el código javascript que contiene la funcion ajax. El método onkeyup() ejecuta ésta funcion.
Archivo buscajax.php
<!DOCTYPE html>
<html>
<head><title>Buscador</title>
<script type="text/javascript" src="ajax.js"></script>
<link rel="stylesheet" type="text/css" href="estilos.css" />
</head>
<body>
<center>
<h1><b>Buscador AJAX - PHP - MySQL</b></h1>
Buscar <input type="text" id="bus" name="bus" onkeyup="loadXMLDoc()" required />
<div id="myDiv"></div>
</center>
</body>
</html>
El archivo ajax.js es un archivo javascript que contiene una función llamada loadXMLDoc(), ésta se activa cada vez que el usuario suelta una tecla del teclado.
El objetivo de esta función es capturar las letras que se ingresen en la caja de texto, almacenarlas en una varibale llamado q y con el método POST se procesen através del archivo proc.php.
Archivo ajax.js
function loadXMLDoc()
{
var xmlhttp;
var n=document.getElementById('bus').value;
if(n==''){
document.getElementById("myDiv").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","proc.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("q="+n);
}
El archivo proc.php contiene codigo php, lo que hace es capturar el valor que trae la variable q y utilizarla para hacer las consulta a la base de datos.
Por ejemplo si el valor de q es J, hacemos una consulta a la base de datos para que arroje sólo los nombres que empiezan con J y mostrar los resultados en el div con id: myDiv ubicado en el archivo buscajax.php.
Archivo proc.php
<?php
include 'conexion.php';
$q=$_POST[q];
$con=conexion();
$sql="select * from personas where nombre LIKE '".$q."%'";
$res=mysql_query($sql,$con);
if(mysql_num_rows($res)==0){
echo '<b>No hay sugerencias</b>';
}else{
echo '<b>Sugerencias:</b><br />';
while($fila=mysql_fetch_array($res)){
echo $fila['nombre'].'<br />';
}
}
?>
Por ultimo pero no menos importante el código css para darle un poco de estilo a la página.
Archivo estilos.css
div
{
margin-top: 10px;
border-style:dashed;
width: 500px;
height: 500px;
background-color:#F0FFF0;
text-align: left;
color:#00008B;
padding:10px 10px;
}
body{
color:#696969;
font-family:Arial,Helvetica,sans-serif;
}
Actualización (26/feb/2013)
Actualizaciòn al buscador. Para obtener el código completo y gratis de esta nueva versión, este es el link del repositorio en GitHub.
Demo/código fuente
Explicación:
Antes que todo, para el ejemplo utilizamos una base de datos llamada database que contiene una sóla tabla llamada personas. Ésta tan sólo tiene dos campos: cod y nombre.
Tenemos el archivo conexion.php para conectarse a la base de datos:
<?php
function conexion(){
$con = mysql_connect("localhost","root","");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
return($con);
}
?>
El archivo buscajax.php es la vista de nuestra aplicacion donde creamos nuestro código html. En él incluimos la hojas de estilos y el código javascript que contiene la funcion ajax. El método onkeyup() ejecuta ésta funcion.
Archivo buscajax.php
<!DOCTYPE html>
<html>
<head><title>Buscador</title>
<script type="text/javascript" src="ajax.js"></script>
<link rel="stylesheet" type="text/css" href="estilos.css" />
</head>
<body>
<center>
<h1><b>Buscador AJAX - PHP - MySQL</b></h1>
Buscar <input type="text" id="bus" name="bus" onkeyup="loadXMLDoc()" required />
<div id="myDiv"></div>
</center>
</body>
</html>
El archivo ajax.js es un archivo javascript que contiene una función llamada loadXMLDoc(), ésta se activa cada vez que el usuario suelta una tecla del teclado.
El objetivo de esta función es capturar las letras que se ingresen en la caja de texto, almacenarlas en una varibale llamado q y con el método POST se procesen através del archivo proc.php.
Archivo ajax.js
function loadXMLDoc()
{
var xmlhttp;
var n=document.getElementById('bus').value;
if(n==''){
document.getElementById("myDiv").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","proc.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("q="+n);
}
El archivo proc.php contiene codigo php, lo que hace es capturar el valor que trae la variable q y utilizarla para hacer las consulta a la base de datos.
Por ejemplo si el valor de q es J, hacemos una consulta a la base de datos para que arroje sólo los nombres que empiezan con J y mostrar los resultados en el div con id: myDiv ubicado en el archivo buscajax.php.
Archivo proc.php
<?php
include 'conexion.php';
$q=$_POST[q];
$con=conexion();
$sql="select * from personas where nombre LIKE '".$q."%'";
$res=mysql_query($sql,$con);
if(mysql_num_rows($res)==0){
echo '<b>No hay sugerencias</b>';
}else{
echo '<b>Sugerencias:</b><br />';
while($fila=mysql_fetch_array($res)){
echo $fila['nombre'].'<br />';
}
}
?>
Por ultimo pero no menos importante el código css para darle un poco de estilo a la página.
Archivo estilos.css
div
{
margin-top: 10px;
border-style:dashed;
width: 500px;
height: 500px;
background-color:#F0FFF0;
text-align: left;
color:#00008B;
padding:10px 10px;
}
body{
color:#696969;
font-family:Arial,Helvetica,sans-serif;
}
Actualización (26/feb/2013)
Actualizaciòn al buscador. Para obtener el código completo y gratis de esta nueva versión, este es el link del repositorio en GitHub.
Demo/código fuente
Nunca encontrado tan bien explicado :) muchisimas gracias, llevo dias tras buscadores con ajax... nunca los entendí ni me funcionaron, el tuyo me funcionó a la primera y lo entiendo todo :D
ResponderBorrarotra vez muchisimas gracias.
Me gustaría preguntarte algo tambien, lo que me gustaria hacer es un buscador como el de wikipedia, dónde los nombres son seleccionables, y con un click en INTRO, se efectua la busqueda... y poner un limite para las sugerencias tambien quisiera aprender.
Como podría hacerlo? si haces un tutorial explicandolo se agradecería mucho.
Hola, te recomiendo los siguientes enlaces que te pueden servir:
ResponderBorrarAutocomplete de la biblioteca jQuery UI:
http://jqueryui.com/autocomplete/
Sugerencias con AJAX y PHP:
http://www.w3schools.com/php/php_ajax_livesearch.asp
Lo del tutorial vamos a ver!!!
Hola, me sirvio mucho tu ayuda, pero tengo un problema al realizar la consulta me da el siguiente error :
ResponderBorrarNotice: Use of undefined constant q - assumed 'q' in C:\proc.php on line 4 pero me muestra los resultados que se encuentran en la base de datos menos aquellos que inician con la "w". ayuda por favor
Prueba esto:
ResponderBorrardeclara la variable primero:
$q="";
luego:
if (isset($_POST[q])){
$q=$_POST[q];
}
ó
$sql="select * from personas where nombre LIKE '".$_POST[q]."%'";
HOLA QUE TALÑ Y SIQUIERO QUE EL DIV DESAPARESCA Y SOLO APRESCA CUANDO HAY ALGUN RESULTADO COMO LO AGO
ResponderBorrary siquiero que me haga la busqueda en mi base de datos? como le hago, gracias
ResponderBorrarEl ejercicio está hecho con base de datos, adapta el ejemplo a tus necesidades.
ResponderBorrarEl buscador me funciona correctamente. Pero tengo una base de datos de dos campos "Numero" y "Contenido". En la que deseo que al escribir "1" me muestre el "Contenido" de la fila 1 y no así la de la fila "10" y "100" tb (ya que se parecen el inicio en 1)... por favor ayuda... MUCHAS GRACIAS de antemano
BorrarHola Buen dia, muy interesante el codigo estoy tratando de desarrollar algo similar y esto me ha ayudado mucho; Sin embargo tengo el problema que el compañero que ingreo como anonmo me da el siguiente error: Use of undefined constant q - assumed 'q' in..
ResponderBorrarsegui la recomendacion que se le dio pero practicamente me dice que no existe la variable q, espero me puedan ayudar de antemano muchas gracias
Para los que le aparecen el sgte error:
ResponderBorrarNotice: Use of undefined constant q - assumed 'q' in C:\proc.php on line 4
Coloquelen comillas simples en la sgte línea:
$q=$_POST[q];
Así:
$q=$_POST['q'];
Esto es en el archivo proc.php
Eso es todo.
Hola como andas? oye una consulta talvez puedes ayudarme he implementado tu codigo y funciona perfectamente, peto tengo la dificultad que por ejemplo quiero mostrar muchos registros necesito hacer un pagina el cual aplique el estandar que tengo en mi aplicacion, sin embargo no me funciona a la hora de pasar por ejemplo a la pagina 2 donde ya no muestra ningun resultado y la caja de texto se muestra ya vacia, alguna forma de poder hacerlo o algun codigo que tengas disculpa las molestias de antemano muchas gracias
ResponderBorrarComo se podria hacer para que se pueda desplazar por el listado instantaneo, con las flechas del teclado para seleccionar una opcion?
ResponderBorrarEsa es la desventaja de la versión 2 del buscador, que no se puede navegar entre las sugerencias a través del teclado. En un futuro puede que solucione ese problema.
ResponderBorrarMI estimado jerry eres bueno en el tema de php,ajax te felicito muchas gracias por compartir tu scrypter muy bueno me sirvio mucho saludos
ResponderBorrarporfavor tendras un link en youtube ?? o tu pagina para poder visitarala
Buen tema viejo m ayudo mucho de verdad gracias era justo lo q necesitava
ResponderBorrarMuy bueno, lo quiero aplicar en mi web y sin tener mucho conocimiento me doy por enterada!. Gracias.
ResponderBorrargracias, buen trabajo.
ResponderBorrarBuen trabajo amigo , es bueno encontrar gente como tu dispuesta ayudar , que dios te lo pague ^^
ResponderBorrarsOLUCION AL ERROR Notice: Use of undefined constant q - assumed 'q' in C:\proc.php
ResponderBorrarOJO ES SIMPLE EL ERROR ES LA FALTA DE COMILLAS DENTREO DE ["q"] quedaria algo asi
Usando una Tabla de nombre rep
include 'conexion.php';
$con=conexion();
$q="";
$sql="select * from REP where CEDREP LIKE '".$_POST["q"]."%'";
$res=mysql_query($sql,$con);
if(mysql_num_rows($res)==0){
echo 'No hay sugerencias';
}else{
echo 'Sugerencias:
';
while($fila=mysql_fetch_array($re
Mi Nombre es Rubén Guerrero Espero Que les sirva mi aporte
No hay codigo mejor explicado se agradece muchisimo, alguien me podria ayudar con lo siguiente de este mismo tema? Tengo un script de ejemplo que hace lo mismo: buscar en tiempo real pero como puedo hacer que en ves que lea de un array establecido, me lea de una tabla de una BD... llevo varios dias con esto y no puedo.. porfa alguien me ayuda?
ResponderBorrareste es el script
// Defino el array con los datos
lista = new Array('Atletismo ','Aerobic','Balonmano','Beisbol','Badmi…
function cargarLista() {
// Cargamos el combo
for (x=0;x…
document.formulario.miCombo[x] = null;
}
// hasta aqui el Script
body onLoad="cargarLista();"
//cargo el FORM
form id="formulario" name="formulario"
label for="busca"Buscar:/label input type="text" id="busca" name="busca" onKeyUp="buscar();"
br/
label for="miCombo"Listado:/label select id="miCombo" name="miCombo" size=8 /select
/form
/body
*Nota: Quite los "mayor que" y "menor que", pues no me dejaba publicar
---------------
Funciona muy bien, pero no puedo cargar un campo de una base de datos en vez del array preestablecido que hay, intente poner un juego de registros y cargarlo directamente pero no se como modificar el script para que me lo lea..
por su ayuda gracias
Tengo un Ejemplo parecido y tambien quisiera saber como leer desde una BD en sql en vez del array precargado del script..
ResponderBorrarhtml lang="en"
head
meta charset="utf-8" /
script
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
/script
/head
body
div class="ui-widget"
label for="tags" Tags: /label
input id="tags" /
/div
/body
/html
Hola Muy buena la explicacion, agarre los fuentes del 2° ejemplo. Me muestra las sugerencias pero al hacer click me dice que no hay dato. Para mi el error esta en como el proc.php envia los datos al index.php y como los recupera el proc2.php
ResponderBorrarproc.php
onclick="myFunction2('.$fila["cod"].')">'.$fila['nombre'].'
index.php
loadDoc("vcod="+cod,"proc2.php",function(){
proc2.php
$codigo=$_POST['vcod'];
No logro ver por que no me envia los valores.
Excelente ejemplo, muy detallado y explicado, gracias.
ResponderBorrarde donde puedo bajar la vercion 2 de este exelente buscador, gracias
ResponderBorrarGracias bro! muy buen ejemplo. Gracias por compartir tu conocimiento.
ResponderBorrarexcelente tutorial, funciona a la primera, pero me ha surgido un problema. El caso es que lo estoy intentando implementar con jquery-mobile, y al ejecutar la busqueda, me carga los datos obtenidos de una tabla php en el div id="myDiv" perfectamente, pero sin estilo(css). He intentado refrescar css del listview con $('#lista').listview('refresh');, pero no funciona. Alguna idea? Gracias
ResponderBorrarUna pregunta... y la TABLA?
ResponderBorrarcon postgressql seria basicamente lo mismo?
ResponderBorrarLas funciones mysql cambian.
Borrarcon postgresql la variable q se declara igual?
ResponderBorrarya que estoy intentado realizarlo pero me da error en esta linea:
$query="select * from public.plan_vacacional where nombre LIKE '".$q."%' LIMIT 0 , 5";
Utilísimo este artículo! Llevo mucho tiempo queriendo hacer cosas con Ajax y nunca me había planteado que podría ser tan sencillo siguiendo algún manual como el que has hecho en este artículo.
ResponderBorrarMil gracias! Me ha sido de gran utilidad y a partir de ahora abre un buen abanico de posibilidades con lo que se me va ocurriendo para ponerlo en práctica. Para empezar, ya se ven resultados en tiempo real en www.byemovil.com/comparador gracias a esto.
Saludos.
hola y muchas gracias por compartir tus conocimientos con otras persons. Eres muy amable... Tengo una pregunta: como le hago si quiero realizar la búsqueda en mas de una tabla? Es posible? Si fuese posible como se hace?
ResponderBorrarSaludos y muchas gracias.
No lo he hecho, pero intenta realizando varias consultas en el archivo proc.php:
Borrar$q=$_POST['q'];
$con=conexion();
$res1=mysql_query("select * from tabla1 where campo LIKE '".$q."%'",$con);
while......
$res2=mysql_query("select * from tabla2 where campo LIKE '".$q."%'",$con);
while......
Jerry muy bueno, ya tengo en practica tu ejemplo... Únicamente una super consulta, Yo quiero realizar una búsqueda por fecha, ya diseñe para que en el lugar de escribir la fecha, me despliegue un calendario... Pero la función loadXMLDoc solo detecta la escritura desde el teclado, Alguna iluminación que me brindaras.
ResponderBorrarUn Abrazo
Intenta esto: en vez de utilizar la funcion onkeyup utiliza onchange en la caja de texto.
Borrarexcelente gracias
ResponderBorrarmuy buenos aportes de roni,ami me funcione de 10....
ResponderBorraruna pregunta aparte,toy matando el tiempo haciendo algo similar para chat como tipo facebook, normal puede actualizar una ventana en el mismo formulario, teniendo este 4 cuadros de busqueda,o habria algun incoveniente?...danieldcp
ResponderBorrarHola, estoy viendo el tutorial, muy bueno por lo menos para mi que soy principiante, lo estoy aplicando y me funsiono muy bien, pero me gustaria que me explicara como puedo mostar mas campos de la base de datos, y que pueda tener un link para poder escoger uno y que pueda abrir una ventana con ajax tambien para seguir el format y poderle hacer cambios en sus campos, muy agradecido ante de nada, cualquier comentario peudes hacerlo tambien a juan@mchsol.com
ResponderBorrarQue excelente código, me ha ayudado muchísimo.
ResponderBorrarsin duda alguna 10 pts.
muchas gracias!!
Los únicos cambios que hice fueron:
$q=$_POST[q]; por $q=$_POST['q'];
y
$sql="select * from personas where nombre LIKE '".$q."%'"; por
$sql="select * from personas where nombre ='$q'";
y me funciona perfecto sin errores.
Hola
ResponderBorrarexcelente aporte
Pero como hago si quiero que cargue en una nueva pagina el resultado
Saludos
Excelente aporte Jerry ahora lo que me gustaría saber es como implementarlo para que busque en dos tablas distintas
ResponderBorrarLo he intentado con estructura de join pero me marca errores
Espero me puedan ayudar, Saludos
Muy buen aporte, ilustra exactamente lo que quería hacer.
ResponderBorrarGracias.
Eres muy gentil, por esa utilidad de autocompletar.
ResponderBorrarGracias.
juancarlosrobayopaez@gmail.com
Este comentario ha sido eliminado por el autor.
ResponderBorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarQue excelente aporte, la verdad es que hace un tiempo habia desarrollado algo parecido pero esto esta perfecto, muchas gracias por compartir ...!
ResponderBorrarHola Felicidades muy buen trabajo me funciona perfectamente tu trabajo.. pero tengo un problema a lo que quiero adjuntar una funcion para tomar una fila completa, en la parte de la consulta a la bdd presento la informacion en forma de tabla con un boton adicional en cada fila para al dar clic me seleccione la fila solo toma la primera fila cuando doy clic me seleccione dicha fila y me las presente en un alert pero solo me selecciona pa primera fila a no se proque alguien me puede ayudar aqui mi codigo para seleccionar la fila:
ResponderBorrar//*******Funcion para tomar datos de la Fila**************
function tomaIds(){
document.getElementById("cgrid").onclick=function(e){
// obtenemos el elemento sobre el que se ha hecho click
if(!e)e=window.event;
if(!e.target) e.target=e.srcElement;
// e.target ahora simboliza la celda en la que hemos hecho click
// subimos de nivel hasta encontrar un tr
var TR=e.target;
while( TR.nodeType==1 && TR.tagName.toUpperCase()!="TR" )
TR=TR.parentNode;
var celdas=TR.getElementsByTagName("TD");
// cogemos la primera celda TD del tr (si existe)
if( celdas.length!=0 )
var cogeid=celdas;
// devolvemos su contenido
//Almaceno los valores tomados de la fila
var codigo =celdas[0].innerHTML
var cedula =celdas[1].innerHTML
var nombre =celdas[2].innerHTML
var apellido =celdas[3].innerHTML
var fnacido =celdas[4].innerHTML
alert(codigo+cedula+nombre+apellido+fnacido);
}} por favor q alguien me ayude gracias de antemano
real mente bueno yo tengo uno similar en mi sitio http://vinet.tv
ResponderBorrarhola muy bueno tu buscador pero tengo un problema al agregar datos con tildes o la letra "ñ" no lo reconoce ya declare con meta
ResponderBorrar"meta charset="utf8_spanish_ci""
y luego intente con esta
"meta http-equiv="Content-type" content="text/html; charset=utf-8" "
note que el documento si reconoce las "ñ" pero al hacer el llamado de la tabla no, por cierto la base y la tabla estan con Cotejamiento utf8_spanish_ci
En el archivo proc.php agrega esta línea:
Borrarmysql_query("SET NAMES utf8"); //<-----esta linea agreguela
$sql="select * from personas where nombre LIKE '".$q."%'";
$res=mysql_query($sql,$con);
Debe funcionar.
Excelente trabajo
ResponderBorrarHola! Sabes, tengo un problema, el código funciona bien y cumple su función, pero me da problemas con los registros que tienen espacios, los muestra pero no los abre. ¿Me puedes ayudar por favor?.
ResponderBorrarGracias!
Estoy usando el "Ejemplo 2"
BorrarHola, estupendo tu trabajo, tengo una pregunta, en caso que requiera no usar un campo de búsqueda, sino 2 o mas, en el código Ajax al momento de enviarlas por xmlhttp.send(); de que forma lo implemento ?
ResponderBorrarSeñores, les agradesco mucho, ya lo solucione, simplemente era concatenarlo en la continuación del envio con +"&k="m
BorrarEl & es la clave para seguir uniendo mas variables y pasarlas por POST
Como lo hiciste?
BorrarMuy bueno este código! Funciona muy bien perooo...! Soy bastante principiante y hay algo que no sé arreglar. En mi base de datos hay texto guardado con comillas simples y el buscador no es capaz de encontrarlo. Todos los registros que contengan comillas no los encuentra.
ResponderBorrarolvidalo ya tengo el codigo, lo acabo de modificar completito jejeje pero gracias y sigue aportando
ResponderBorrarGracias!! :D
ResponderBorrarUna pregunta, se puede agregar un juego de paginación ¿?
ResponderBorrarEXCELENTE. funciona a la perfección.
ResponderBorrarOye tengo una duda ya me muestra las opciones de ni bd pero si quisiera que pudiera seleccionar una de ellas y llenar demas campos con la información de la opcion que selecciono como podría hacerle?
Hola Jerry!
ResponderBorrarExcelente tutorial.. me sirvió mucho y sinceramente lo utilizo en varias cosas, un poco modificado, claro esta..
Pero hay algo que me han pedido y no se como hacerlo, por lo que te paso la pregunta..
Ves que el buscador al escribir la letra "a" ya te tira todos los datos con esa letra, pero en mi caso, esas filas tienen más informacion. ejemplo:
codigo-descripcion-precio
Donde la letra "a" coindice con auriculares de varias marcas y modelos..
Como hago para que al darle enter, luego de que me muestre las coincidencias, tambien me muestre como resultado todos los auriculares?
Por que buscar de a uno lleva tiempo, y perder los resultados, no saben donde se quedaron y todo eso, se complica un poco para el usuario.
Gracias!
GE NIAL APORTE!!!!!! SUPER SENCILLO Y FUNCIONA PERRRRRRRFECTO
ResponderBorrarMIL GRACIAS
quisiera saber si
ResponderBorrarxmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
debo modificar algo?
Buenas tardes Amigo, me agrado mucho tu publicacion y pues estoy tratando de adaptar ese autocompletar en mi formulario, pero si me gustaria saber como funciona cada instruccion de tu codigo en javascript, pues la verdad no se mucho sobre ese tema, espero me puedas apoyar en esa parte..
ResponderBorrarsaludos!
Buen dia,
ResponderBorrarmi tabla usuarios tiene mas campos, como hago para mostrarlos todos.?
yo lo hice mas o menos así:
Borrararriba del while haces una tabla con los titulos q quieres q tengan:
ej:
table
thead
tr
th "titulo1" /th
th "titulo2" /th
th "titulo3" /th
/th
/thead
despues la consulta... $sql...
while($row=mysql_fetch_array($res)){
$contador = $contador + 1;
echo "tr td".$contador."/td";
echo "td". $row["tipo"]."/td";
echo "td". $row["nombre"]."/td";
echo "td". $row["precio_compra"]."/td";
echo "td". $row["precio_venta"]."/td";
echo "td". $row["cantidad"]."/td";
...
}
echo "/tr /tbody /table";
}
Ahi le modificas lo que necesites y agregale las <>
Espero te sirva.
hola que tal, me interesa saber como es el código de la v2.
ResponderBorrarhola chicos espero me ayuden estoy haciendo lo mismo pero al correrlo me marca este error .
ResponderBorrarWarning: oci_execute(): ORA-00933: comando SQL no terminado correctamente in.
Este comentario ha sido eliminado por el autor.
Borrar
Borrar$q=$_POST["q"];
$stid = oci_parse($conn,"SELECT buyer_code,buyer_nm FROM trimbuyr WHERE use_yn='Y'
order by 2 LIKE '".$q."%'");
oci_execute($stid);
if(oci_num_rows($stid)==0){
echo 'No hay sugerencias';
}else{
echo 'Sugerencias:
';
while($fila=oci_fetch_array($stid)){
echo $fila['use_yn'].'
';
}
}
?>
este es mi codigo
Graaaacias, he estado mucho tiempo intentando hacer un buscador así y no me resultaba.
ResponderBorrarLa mejor explicación :D
Hola A todos quisiera saber como hacer para que me muestre las sugerencias y al darle clic en ella que me muestre el productos que ando buscado
ResponderBorrarPara que en vez de que me muestre el codigo y el nombre me salga un href para donde el producto
ResponderBorrarEso no es autocompletar por que nada mas te busca con la primera letra no asi con las demas de las cadenas, Al menos eso lo es comprobado
ResponderBorrarEso no es autocompletar por que nada mas te busca con la primera letra no asi con las demas de las cadenas, Al menos eso lo es comprobado
ResponderBorrarExcelente, lo adapté a otra base de datos e hice las correcciones sugeridas en los comentarios y funcionó perfecto. Ah, y para que busque coincidencias en toda la cadena de caracteres también coloqué un % antes de la $q quedando así: $sql="select * from cursotable where nombre LIKE '%".$q."%'";
ResponderBorrarHola!!
ResponderBorrarLo siento pero no me funciona el LIKE, pongo la consulta en el phpmyadmin y tampoco me encuentra nada:
$sql="select * from jugadores_general where nombre LIKE '%".$q."%'";
tal como ha dicho Oscar Heredia, eso si que me funciona, pero si le quito el % del principio, porque solo quiero los que empiecen por $q, entonces no me va porque no me encuentra nada.
No sé como hacerlo...
Muchas gracias
Tengo un problema y es que no me funciona AJAX, ya que no me llega a proc.php.
ResponderBorrarHasta el xmlhttprequest todo perfecto pero a partir de hay nada.
Hola!
ResponderBorrarMuy buen ejemplo, muchas gracias.
No obstante, tengo un problema y no se que es!!!
El error es el siguiente:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp2\htdocs\pruebabuscador\proc.php on line 19
No hay sugerencias
El AJAX funciona, pero no busca y me salta ese fallo.
El codigo es exactamente el mismo, solo que he cambiado el nombre de la base de datos y lo he modificado en el codigo.
Gracias!
Soy el mismo, no he dicho nada! JEJEJE
BorrarPero por si a alguien le sale el mismo error, que compruebe la consulta y el nombre de la base de datos. Lo mio fue un error en la consulta, el nombre de la tabla no era el correcto. Ya va perfecto! Gracias!!!
Eres grande jeje tu código me ayudo a despejar muchísimas dudas que tenia acerca de como hacer un buscador...
ResponderBorrarGracias por el post, me sirvio!
ResponderBorrarme sale ese error. me ayuda no me hace consulta
ResponderBorrarWarning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\AppServ\www\buscadorajax\proc.php on line 11
No hay sugerencias
El mejor buscador que he encontrado. me ayudaste, Gracias
ResponderBorrarcomo puedo hacer para meter los valores que me devuelven a un radio buttoon?
ResponderBorrarcomo puedo hacer para meter los valores que me devuelven a un radio buttoon?
ResponderBorrarosea que en vez de que me muestre los valores en el div me los ingrese a un radio button
quiero pasar dos parametro loadDoc("vcod="+cod,"proc2.php",function(){ como escribo el otro parametro
ResponderBorrarMil gracias!
ResponderBorrarEl mejor, me ayudaste bastante.
Gracias!
El buscador me funciona correctamente. Pero tengo una base de datos de dos campos "Numero" y "Contenido". En la que deseo que al escribir "1" me muestre el "Contenido" de la fila 1 y no así la de la fila "10" y "100" tb (ya que se parecen el inicio en 1)... por favor ayuda... MUCHAS GRACIAS de antemano
ResponderBorrarHola! me funciona pero no me encuenra coincidencias en los resultados! me dice siempre "sin sugerencias"
ResponderBorrar