Foros del Web » Programando para Internet » PHP »

buscador no esta funcionando

Estas en el tema de buscador no esta funcionando en el foro de PHP en Foros del Web. UN gran saludo estoy trabajando con un buscador y lo que esta pasando es que no me esta buscando bien por todas las palabras tengo ...
  #1 (permalink)  
Antiguo 29/12/2010, 02:07
Avatar de andreshenao  
Fecha de Ingreso: enero-2009
Ubicación: Medellìn
Mensajes: 417
Antigüedad: 15 años, 10 meses
Puntos: 7
buscador no esta funcionando

UN gran saludo estoy trabajando con un buscador y lo que esta pasando es que no me esta buscando bien por todas las palabras tengo 5 articulos con datos similares y otros diferentes para probar pero no me los trae todos

el buscador es este algo muy sensillo ver

hay palabras de ejemplo por ejemplo la palabra prueba debería traer dos item, circuitos impresos 4.

pero no funciona debidamente.

un gran saludo.
si alguien me puede asesorar.

Cita:
<?PHP

$campo = array("distribuidor", "marca", "producto", "comentario");
$numelentos = count($campo);
$bandera = "si";
for ($i=0; $i < $numelentos; $i++)

{
$campoac= $campo[$i];

$a= $_POST['palabra'];

if ($a==false)
{
echo "<p>Debe especificar la busqueda</p> \n";
echo "</html></body> \n";
exit;
}

$link = mysql_connect("localhost", "xxx", "xxx");

mysql_select_db("xxx", $link);

$sql = "SELECT * FROM buscador WHERE $campoac LIKE '%{$_POST['palabra']}%' ORDER BY distribuidor";
$result = mysql_query($sql, $link);

if ($row = mysql_fetch_array($result))
{
mysql_field_seek($result,0);
while ($field = mysql_fetch_field($result)){
echo "<td><b></b></td> \n";
}

echo '<img src="'.$row["distribuidor"].'">';
echo "<table width=\"431\">
<tr> <td width=\"425\"><table width=\"100%\"><tr><strong>
<td width=\"205\"> <div align=\"center\"><FONT COLOR=\"#0099FF\">Distribuidor:</FONT></strong>".$row["distribuidor"]."</td>
<td width=\"206\"> <strong><FONT COLOR=\"#0099FF\">Marca:</FONT></strong>".$row["marca"]."</td>
</tr></table></td></tr><tr>
<td><strong><FONT COLOR=\"#0099FF\"> Producto:</FONT></strong>".$row["producto"]."</td></tr><tr>
<td><strong><FONT COLOR=\"#0099FF\">Descripcion:</FONT></strong>".$row["comentario"]."</td>
</tr><tr><td><strong> <FONT COLOR=\"#0099FF\">Link:</FONT></strong></td></tr><tr>
<td><div align=\"center\"><strong><FONT COLOR=\"#000099\"><a href=\"javascript:registro();\">Pedir Cotizacion</FONT> </strong></a> </div></td></tr>
</table>";
echo "<p> </p> \n";
echo "<hr>";
$bandera = "no";
}
while ($row = mysql_fetch_array($result));
echo "</table> \n";


}
if ($bandera == "si")
{ echo "<p>¡No se ha encontrado ningún registro!</p>\n";
} ?>
__________________
-----------------
Hosting Medellin
Diseño web medellin
  #2 (permalink)  
Antiguo 29/12/2010, 02:38
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: buscador no esta funcionando

Hola andres, es un poco dificil seguirte sin ver la información en la DB, no se puede comprobar cuantos resultados debe devolver, sin embargo, prueba simplificando el programa y debugeando un poco, also así:

Código PHP:
<?PHP
error_reporting
(E_ALL);
ini_set("display_errors"1);

$campo = array("distribuidor""marca""producto""comentario");
$numelentos count($campo);

for (
$i=0$i $numelentos$i++)

{
    
$campoac$campo[$i];

    
$a$_POST['palabra'];

    if (
$a==false)
    {
        echo 
"<p>Debe especificar la busqueda</p> \n";
        exit;
    }

    
$link mysql_connect("localhost""xxx""xxx");

    
mysql_select_db("xxx"$link);

    
$sql "SELECT * FROM buscador WHERE $campoac LIKE '%{$_POST['palabra']}%' ORDER BY distribuidor";
    
$result mysql_query($sql$link);

    if(!
mysql_num_rows($result)) {
        echo 
"No hay resultados";
        die();
    }

    while(
$row mysql_fetch_assoc($result))
    {
        
print_r($row);
    }


}

?>
a ver qué pasa, saludos
  #3 (permalink)  
Antiguo 29/12/2010, 13:28
Avatar de andreshenao  
Fecha de Ingreso: enero-2009
Ubicación: Medellìn
Mensajes: 417
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: buscador no esta funcionando

hola gracias por responder tan rapido pero no me esta dando y hasta me saco error

buscador
buscador1

en la parte de encima están las palabras de búsqueda.

te lo agradezco

este es buscador con lo que me diste
Cita:
<html>

<body bgcolor="#D7DAC3">
<p>sensible - circuitos impresos-Catalogo-prueba</p>
<form method = "POST" action = "buscador1.php">
<table width="403" align="center">
<tr>
<td><div align="center">Buscar:
<input type="text" name="palabra" id="palabra" size="20">
<input type="submit" name="Submit" value="GO">
</div></td>
</tr>
</table>
<hr>
<?PHP
error_reporting(E_ALL);
ini_set("display_errors", 1);

$campo = array("distribuidor", "marca", "producto", "comentario");
$numelentos = count($campo);

for ($i=0; $i < $numelentos; $i++)

{
$campoac= $campo[$i];

$a= $_POST['palabra'];

if ($a==false)
{
echo "<p>Debe especificar la busqueda</p> \n";
echo "</html></body> \n";
exit;
}

$link = mysql_connect("localhost", "xxx", "xxx");

mysql_select_db("xxx", $link);

$sql = "SELECT * FROM buscador WHERE $campoac LIKE '%{$_POST['palabra']}%' ORDER BY distribuidor";
$result = mysql_query($sql, $link);

if(!mysql_num_rows($result)) {
echo "No hay resultados";
die();
echo "<td><b></b></td> \n";
}
echo '<img src="'.$row["distribuidor"].'">';
echo "<table width=\"431\">
<tr> <td width=\"425\"><table width=\"100%\"><tr><strong>
<td width=\"205\"> <div align=\"center\"><FONT COLOR=\"#0099FF\">Distribuidor:</FONT></strong>".$row["distribuidor"]."</td>
<td width=\"206\"> <strong><FONT COLOR=\"#0099FF\">Marca:</FONT></strong>".$row["marca"]."</td>
</tr></table></td></tr><tr>
<td><strong><FONT COLOR=\"#0099FF\"> Producto:</FONT></strong>".$row["producto"]."</td></tr><tr>
<td><strong><FONT COLOR=\"#0099FF\">Descripcion:</FONT></strong>".$row["comentario"]."</td>
</tr><tr><td><strong> <FONT COLOR=\"#0099FF\">Link:</FONT></strong></td></tr><tr>
<td><div align=\"center\"><strong><FONT COLOR=\"#000099\"><a href=\"javascript:registro();\">Pedir Cotizacion</FONT> </strong></a> </div></td></tr>
</table>";// siempre emos querido poner links en los resultados aqui pongo un pequeño ejemplo de como hacerlo pero si queires ser mas espesifico en el linck pues juega un poco con el codigo
echo "<p> </p> \n";
echo "<hr>";
$bandera = "no";//cambiamos la bandera para avisar que si se encontro la palabra
while($row = mysql_fetch_assoc($result))
{
print_r($row);
echo "</table> \n";
}


}

?></form> </div>
__________________
-----------------
Hosting Medellin
Diseño web medellin
  #4 (permalink)  
Antiguo 29/12/2010, 14:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: buscador no esta funcionando

¿se puede adivinar el mensaje de error o hay que esperar que lo digas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 29/12/2010, 14:13
Avatar de andreshenao  
Fecha de Ingreso: enero-2009
Ubicación: Medellìn
Mensajes: 417
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: buscador no esta funcionando

hola, el error que saca es en esta linea que hostamente no le veo problema osera ya cansancio que no estoy viendo nada. si inicializo la $a y sigue con el error.

y con la recibida de ['palabra'] no le veo nada raro


Cita:
$a= $_POST['palabra'];
Saludos o sea estoy
__________________
-----------------
Hosting Medellin
Diseño web medellin
  #6 (permalink)  
Antiguo 29/12/2010, 14:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: buscador no esta funcionando

pero por favor, no necesitamos tu interpretación del error... lo que es mas útil es el mensaje completo de error que recibes....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 29/12/2010, 14:48
Avatar de andreshenao  
Fecha de Ingreso: enero-2009
Ubicación: Medellìn
Mensajes: 417
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: buscador no esta funcionando

huy disculpa pensé que lo habían viso como deje el link.

pero este es
Notice: Undefined index: palabra in /home/electroi/public_html/directorioempresarialcolombiano.co/nueva_web/buscador/buscador1.php on line 27

saludos
__________________
-----------------
Hosting Medellin
Diseño web medellin
  #8 (permalink)  
Antiguo 29/12/2010, 17:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: buscador no esta funcionando

hmmm... ya, mira... las variables $_POST solo existen después de haber enviado un formulario de método post, y como lo tienes todo en la misma pagina, no has enviado nada...

por eso no existe, solo cambia el código PHP hacía el script que apunta el action de tu formulario, ahí debes procesarle y no en la misma pagina... (:

aunque la forma simple es comprobar que hay un envío...
Código PHP:
if ( ! empty($_POST))
{
  
// aqui todo el codigo que use dichas variables

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 29/12/2010, 18:05
Avatar de andreshenao  
Fecha de Ingreso: enero-2009
Ubicación: Medellìn
Mensajes: 417
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: buscador no esta funcionando

hola muchas gracias los voy a separar y voy hacer lo que me dijiste pero todavía tengo la misma dificulta no me busca nada.

este es mi primer buscador que solo trae algunos item ver

este es el que el compañero me sugirio ver


pero no se que pasa.
Gracias
__________________
-----------------
Hosting Medellin
Diseño web medellin

Etiquetas: buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.