Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: miguelangelss4 en 24 Abril 2009, 09:56 am



Título: buscador en php... q no funciona. AYUDA POR FAVOR
Publicado por: miguelangelss4 en 24 Abril 2009, 09:56 am
Bueno, tengo el siguiente código que sería para buscar libros de la BBDD (MySQL) de una biblioteca, pero no hace nada, no devuelve error ni nada...:
Código:
<?php
//RECOGIDA DE DATOS**************************************************************************************************************
$titulo = $_POST["titulo"]; $autor = $_POST["autor"]; $tema = $_POST["tema"]; $idioma = $_POST["idioma"];
$isbn = $_POST["isbn"];
//CONEXION BBDD******************************************************************************************************************
$server_link = mysql_connect("servidor", "user", "pass");
$bd_selected = mysql_select_db("bbdd", $server_link);
//BUSQUEDA***********************************************************************************************************************
$sqlbuscar="SELECT *" .
    " FROM tabla_libro a INNER JOIN tabla_autor b on a.id_autor = b.id_autor " .
" INNER JOIN tabla_tema c on a.id_tema = c.id_tema" .
" INNER JOIN tabla_idioma d on a.id_idioma = d.id_idioma" .
" WHERE a.titulo like '%" . $titulo .
" %' AND b.nom_autor like '%" . $autor .
" %' AND c.nom_tema like '%" . $tema .
" %' AND d.nom_idioma like '%" . $idioma .
" %' AND a.isbn like '%" . $isbn . "%' ";

//MIS PRUEBAS********************************************************************************************************************
echo("SQLBUSCAR____________________________<b>".$sqlbuscar."</b>.");
echo('<br><br><br>');
//CUENTA RESULTADOS**************************************************************************************************************
$cuenta_resultados = "select count(*) as num from tabla_libro where titulo like '%".$titulo."%'";
$resultado = mysql_query($cuenta_resultados);
$n_resultados = mysql_fetch_array($resultado);
echo("Se han encontrado <b>".$n_resultados["num"]."</b> resultados para su b&uacute;squeda.");
echo('<br><br><br>');
//INICIO BUCLE*******************************************************************************************************************
$query = mysql_query($sqlbuscar) or die(mysql_error());
while ($busqueda = mysql_fetch_array($query))
{
$contador=1;
//SALIDA DE DATOS****************************************************************************************************************
echo("<table border='1'>");
echo("<tr>");
echo("<td rowspan='5'>".$contador."</td>");
echo("</tr>");
echo("<tr>");
echo("<td><a href='libro.php'>".$busqueda['titulo']."</a></td>");
echo("</tr>");
echo("<tr>");
echo("<td>".$busqueda['nom_autor']."</td>");
echo("</tr>");
echo("<tr>");
echo("<td>".$busqueda['tema']."</td>");
echo("</tr>");
echo("<tr>");
echo("<td>".$busqueda['idioma']."</td>");
echo("</tr>");
echo("<tr>");
echo("<td>".$busqueda['isbn']."</td>");
echo("</tr>");
echo("<tr>");
echo("<td colspan='2'><a href='buscar.php'>Volver a buscar</a></td>");
echo("</tr>");
echo("</table>");
$contador++;
    }
mysql_close($server_link);
?>
Espero que me podais ayudar. Un saludo.


Título: Re: buscador en php... q no funciona. AYUDA POR FAVOR
Publicado por: :ohk<any> en 24 Abril 2009, 14:39 pm
Primero que nada, tienes la base de datos para esta busqueda?
Segundo, estas seguro que estas mandando los datos "titulo", "autor", etc de forma correcta y con el nombre que te los pide?
Tercero, los datos de conexion deben ser los mismos de tu base de datos y tu base de datos debe llamarse "bbdd" en caso de que la consulta corra como la muestras.

Si todo eso esta bien, revisaremos la consulta  :P


Título: Re: buscador en php... q no funciona. AYUDA POR FAVOR
Publicado por: miguelangelss4 en 24 Abril 2009, 15:02 pm
esas tres cosas ya las he revisado como 5 o 6 veces... y sí, todo esta correcto... lo raro esque no me devuelve nada, ni errores, ni datos ni nada...

estoy haciendo un script de prueba por partes y va tomando forma, poco a poco...


Título: Re: buscador en php... q no funciona. AYUDA POR FAVOR
Publicado por: дٳŦ٭ en 24 Abril 2009, 18:32 pm
Prueba con ini_set('display_errors', 1); al principio de tu pagina, haz un print_r($_request); print_r($_post);

En las lineas cambia:

Código
  1. $server_link = mysql_connect("servidor", "user", "pass") die('No se pudo conectar: ' . mysql_error());
  2. $bd_selected = mysql_select_db("bbdd", $server_link) die('No conectado: ' . mysql_error());
  3.  

Y platicanos que pasa.  ;)


Título: Re: buscador en php... q no funciona. AYUDA POR FAVOR
Publicado por: miguelangelss4 en 25 Abril 2009, 11:19 am
Cita de: MI PAGINA
TITULO: AUTOR: TEMA: IDIOMA: ISBN:

select * from libro a inner join autor b on a.id_autor=b.id_autor where titulo like '%%'
, Se han encontrado 1 resultados para su búsqueda.


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homez.165/dosesi/www/virtualiga/CESMA/buscar.php on line 51

lo único que me importa es el warning, porque lo de arriba lo he puesto yo.
la línea 51 contiene lo siguiente:
Código:
while ($busqueda = mysql_fetch_array($query))