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...:
<?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ú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.
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
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...
Prueba con ini_set('display_errors', 1); al principio de tu pagina, haz un print_r($_request); print_r($_post);
En las lineas cambia:
$server_link = mysql_connect("servidor", "user", "pass") die('No se pudo conectar: ' . mysql_error());
$bd_selected = mysql_select_db("bbdd", $server_link) die('No conectado: ' . mysql_error());
Y platicanos que pasa. ;)
Cita de: MI PAGINATITULO: 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:
while ($busqueda = mysql_fetch_array($query))