Foros del Web » Programando para Internet » PHP »

URGENTE Buscador con MYSQL

Estas en el tema de URGENTE Buscador con MYSQL en el foro de PHP en Foros del Web. Cita: Iniciado por bcnbcn esto es lo que me sale cuando busco: si revisas ese query, significa que la variable $buscar no tiene nada, es ...

  #31 (permalink)  
Antiguo 18/06/2010, 15:53
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Respuesta: URGENTE Buscador con MYSQL

Cita:
Iniciado por bcnbcn Ver Mensaje
esto es lo que me sale cuando busco:
si revisas ese query, significa que la variable $buscar no tiene nada, es decir que no estas capturando correctamente la variable <buscar>.
Verifica eso y veras que te funcionara
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #32 (permalink)  
Antiguo 18/06/2010, 17:22
 
Fecha de Ingreso: junio-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: URGENTE Buscador con MYSQL

Cita:
Iniciado por wiwi74 Ver Mensaje
Prueba asi:
( Obviamente $buscar tiene que tener algun valor )

Código PHP:

$sql
="SELECT * FROM infinityfilm.pelicula WHERE titulo like '%".$buscar."%'"
ya ya, si en el codigo la variable tiene valor
pero al buscar en el buscador me sales esto(al ejecutar el buscador)


Cita:
SELECT * FROM infinityfilm.pelicula WHERE titulo like '%%'
este es mi codigo, tal y como me dijistes tu

Código PHP:
<?php
$conexion
=mysql_connect("localhost""root""") or die("no funciona correctamente: " mysql_error()); 
mysql_select_db("infinityfilm",$conexion); 
$sql="SELECT * FROM infinityfilm.pelicula WHERE titulo like '%".$busqueda."%'"
echo 
$sql
//$resultado = mysql_query($sql); 
//while ($fila = mysql_fetch_array($resultado)) 
//echo $query; 
//{ 
//echo $fila["titulo"]; 
//} 
//mysql_free_result($resultado); 
?>
  #33 (permalink)  
Antiguo 18/06/2010, 17:37
 
Fecha de Ingreso: junio-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: URGENTE Buscador con MYSQL

Cita:
Iniciado por bcnbcn Ver Mensaje
ya ya, si en el codigo la variable tiene valor
pero al buscar en el buscador me sales esto(al ejecutar el buscador)




este es mi codigo, tal y como me dijistes tu

Código PHP:
<?php
$conexion
=mysql_connect("localhost""root""") or die("no funciona correctamente: " mysql_error()); 
mysql_select_db("infinityfilm",$conexion); 
$sql="SELECT * FROM infinityfilm.pelicula WHERE titulo like '%".$busqueda."%'"
echo 
$sql
//$resultado = mysql_query($sql); 
//while ($fila = mysql_fetch_array($resultado)) 
//echo $query; 
//{ 
//echo $fila["titulo"]; 
//} 
//mysql_free_result($resultado); 
?>
vale ahora si que me salebien, me habia dejado una tonteria

Cita:
SELECT * FROM pelicula WHERE titulo LIKE '%busqueda%'
lo que no me muestra nada, cuando pico buscar me sale la pantalla en blanco y no me muestra ningun error ni resultado
  #34 (permalink)  
Antiguo 19/06/2010, 19:10
 
Fecha de Ingreso: junio-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: URGENTE Buscador con MYSQL

he decidido hacerlo de otra forma, ya me artado de eso por que no me sale, y eso que es la mas facik xd

pues qui esta el codigo del que hago ahora:

Código PHP:
<?php
$conexion
=mysql_connect("localhost""root""") or die("no funciona correctamente: " mysql_error()); 
mysql_select_db("infinityfilm",$conexion); 
$sql "SELECT * FROM pelicula WHERE titulo LIKE '%$busqueda%' ORDER BY titulo";
$resultado mysql_query($sql$conexion); 
if (
$row mysql_fetch_array($resultado)){
echo 
"<table border = '1'> \n";
echo 
"<tr> \n";
//colocar el puntero en el primer campo, y eso lo //logramos con la función mysql_field_seek()
mysql_field_seek($resultado,0);
//CREO QUE EL PROBLEMA ESTA AQUI! O MAS ABAJO*
while ($field mysql_fetch_field($resultado)){ 
echo 
"<td><b>$field->titulo</b></td> \n";
}
echo 
"</tr> \n";
do {
echo 
"<tr> \n";
echo 
"<td>".$row["titulo"]."</td> \n";
echo 
"<td>".$row["año"]."</td> \n";
echo 
"<td>".$row["duracion"]."</td> \n";
echo 
"<td>".$row["idGenero"]."</td> \n";
echo 
"<td>".$row["precio_peli"]."</td> \n";
echo 
"<td>".$row["sinopsis"]."</td> \n";
echo 
"</tr> \n";
//ALOMEJOR TAMBIEN PUEDE ESTAR AQUI!!
}while ($row mysql_fetch_array($resultado));
echo 
"<p><a href=alquiler.php>Volver</p> \n";
echo 
"</table> \n";
}else {
echo 
"<p>¡No se ha encontrado ningún registro!</p>\n";
echo 
"<p><a href=alquiler.php>Volver</p> \n";
}
?>

LO QUE PASA ES QUE ME MUESTRA TODO LO QUE HAY EN LA TABLA.

YO HE PUESTO EN COMENTARIO DONDE CREO QUE PUEDE ESTAR EL ERROR PERO NO LOGRO ARREGLARLO. HE PROVADO CON ROW Y CON FIELD PERO NADA.


ESTO ES LO QUE HE PROBADO:

- SI ESTAN EN FIELD:
while ($field = mysql_fetch_field($resultado)){
ME MUESTRA TODO LO QUE HAY EN LA BASE DE DATOS, Y EN TEORIA ME TENDRIA QUE MOSTRAR SOLO LA PALABRA O CADENA DE PALABRAS QUE BUSCO



- SI LO PONGO ROW :
while ($field = mysql_fetch_row($resultado)){
ME MUESTRA EL ULTIMO CAMPO SOLO.

ESTA es la parte del formulario por si el error esta alli que no creo.

Código PHP:
<table align="left"  cellpadding="6" cellspacing="6">
    <
tr>
        <
td align="center">
        <
form method "POST" action "buscar.php">
            <
strong>busqueda</strong>
            <
input type="text" name="buscar" size="20"><br><br>
            <
input type="submit" value="Buscar">
        </
form>
      </
td>
    </
tr>
</
table

esta echo con la ayuda de esta pagina:
http://www.hospedajeydominios.com/mambo/documentacion-manual_phpmysql-pagina-buscador_bd.html

Haber si alguien me puede ayudar!!
Gracias!!

Última edición por bcnbcn; 20/06/2010 a las 11:03
  #35 (permalink)  
Antiguo 21/06/2010, 21:46
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Respuesta: URGENTE Buscador con MYSQL

Prueba depurando mas tu codigo:
Código PHP:
<?php
$conexion
=mysql_connect("localhost""root""") or die("No se ha podido conectar a la base de datos: ".mysql_error());
mysql_select_db("infinityfilm",$conexion);
if(isset(
$buscar) && !empty($buscar)){
    
$sql "SELECT * 
            FROM pelicula 
            WHERE titulo LIKE '%$buscar%'"
;
    
$resultado mysql_query($sql) or die("Error en la consulta: ".mysql_error());
    
$num mysql_num_rows($resultado);
    echo 
'Se han encontrado '.$num.' resultados: <br>';
    
$i 1;
    while (
$fila mysql_fetch_array($resultado)){
        echo 
$i.' = '.$fila["titulo"].'<br>';
        
$i++;
    }
}else{
    echo 
"Debes poner una palabra en $buscar para buscar (valga la redundancia)...";
}
?>
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #36 (permalink)  
Antiguo 22/06/2010, 19:50
 
Fecha de Ingreso: junio-2010
Mensajes: 21
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: URGENTE Buscador con MYSQL

Cita:
Iniciado por Marvin Ver Mensaje
Prueba depurando mas tu codigo:
Código PHP:
<?php
$conexion
=mysql_connect("localhost""root""") or die("No se ha podido conectar a la base de datos: ".mysql_error());
mysql_select_db("infinityfilm",$conexion);
if(isset(
$buscar) && !empty($buscar)){
    
$sql "SELECT * 
            FROM pelicula 
            WHERE titulo LIKE '%$buscar%'"
;
    
$resultado mysql_query($sql) or die("Error en la consulta: ".mysql_error());
    
$num mysql_num_rows($resultado);
    echo 
'Se han encontrado '.$num.' resultados: <br>';
    
$i 1;
    while (
$fila mysql_fetch_array($resultado)){
        echo 
$i.' = '.$fila["titulo"].'<br>';
        
$i++;
    }
}else{
    echo 
"Debes poner una palabra en $buscar para buscar (valga la redundancia)...";
}
?>
Suerte!


muy buenas!!

no me va nose por que,

me dice:
Cita:
Debes poner una palabra en para buscar (valga la redundancia)...
todo el rato ,nose si sirve pero este es mi formulario:

Código PHP:
<form method "POST" action "buscar.php">

<
strong>buscar:</strong>

<
input type="text" name="buscar" size="20"><br><br>

<
input type="submit" value="buscar">

</
form
y el código es el tuyo.

Etiquetas: mysql, 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 01:09.