problemas na pesquisa de livros

1. problemas na pesquisa de livros

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 13/06/2008 - 16:36h

com base do script de cadastro de livros anterior, esse script é o de pesquisa de livros, mas mesmo inserindo os dados diretos no bd, não é possível fazer pesquisa para testar.
Segue o script:
<html>
<head>
<title> Pesquisa </title>
</head>
<body>
<center>
<form action="pesquisa_livros.php" method="POST">
<h2> Pesquisa de livros </h2>
<input type="radio" name="opcBusca" value="Autor" checked> Autor
<input type="radio" name="opcBusca" value="Titulo" checked> Titulo
<br><br>
Pesquisa: <input type="text" name="pesq" size="40">
<input type="submit" name="buscalivros" value="Buscar">
</form>
</center>
</body>
</html>
<?php
include "mysqlconecta.php";
if($_POST['buscalivros'])
{
$tipo = $_POST['opcBusca']; echo $tipo; echo "<br> " .$pesq; echo "<br>";
$pesq = $_POST['pesq'];
if(empty($pesq))
{
echo "Erro! campo pesquisa em branco!";
exit;
}
else
{

$sql = "select cd_livro,titulo,autor,ibsn,desc_editora,numpag,numedicao from livro l inner join editora e on l.cd_editora=e.cd_editora where $tipo like '$pesq%' ";
$resultado = mysql_query($sql) or die("Erro na consulta" .mysql_error());
$linhas = mysql_num_rows($resultado);

if($linhas == 0)
{
echo "Nenhum livro encontrado!";
exit;
}
else
{
echo "<table width=100%";
echo "<tr>";
echo "th>Codigo livro</th>
<th>Titulo </th>
<th>Autor </th>
<th>ISBN </th>
<th>Editora </th>
<th>Numero de paginas </th>
<th>Edicao </th> </tr>";
if($linhas > 0)
{
$cont=0;
echo "Encontrado(s) $linhas livros na pesquisa $pesq <br><br>";
for($i=0; i<$linhas; $i++)
{
echo "<td>" .mysql_result($resultado,$i,"cod_livro");
echo "<td>" .mysql_result($resultado,$i,"titulo");
echo "<td>" .mysql_result($resultado,$i,"autor");
echo "<td>" .mysql_result($resultado,$i,"isbn");
echo "<td>" .mysql_result($resultado,$i,"desc_editora");
echo "<td>" .mysql_result($resultado,$i,"numpag");
echo "<td>" .mysql_result($resultado,$i,"numedicao");
echo "</tr>\n";
echo "</table>";
}
}
}
}
}
?>

Como corrigir e deixar o script funcionando?
Unknown column 'cd_livro' in 'field list'
flw


  


2. explicação

Daniel Gimenes
DanielGimenes

(usa Ubuntu)

Enviado em 13/06/2008 - 17:02h

Explique melhor o problema e se possível nos mostre onde está errado (região), ou qual mensagem aparece, etc.


3. Re: problemas na pesquisa de livros

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 13/06/2008 - 17:09h

Não tem nenhum erro de sintaxe, o único problema é que não to conseguindo efetuar as pesquisas deste script, acho que o erro deve estar na linha da consulta sql com inner join, será que é ae o erro?



4. Re: problemas na pesquisa de livros

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 13/06/2008 - 17:21h

Veja do jeito, que estou tentando fazer
Segue o script:
<html>
<head>
<title> Pesquisa </title>
</head>
<body>
<center>
<form method action="pesquisa_livros.php">
<h2> Pesquisa de livros </h2>
<input name="OpcBusca" type="radio" name="autor" value="Autor" checked> Autor
<input name="OpcBusca" type="radio" name="titulo" value="Titulo" checked> Titulo
<br>
<p> Pesquisa: <input type="text" name="pesq" size="40">
<input type="submit" name="busca" value="Buscar"> </p>
<input type="hidden" name="peslivros" value=1">
<input type="hidden" name="escolha" value="1">
</form>
</center>
</body>
</html>
<?php
include "mysqlconecta.php";
if($_POST['peslivros'])
{
$tipo = $_POST['OpcBusca'];
$pesq = $_POST['pesq'];
if(empty($pesq))
echo "Erro! campo pesquisa em branco!";
$tipo = addslashes($tipo);
$pesq = addslashes($pesq);
$sql = "select l.cd_livro,l.titulo,isbn,autor,desc_editora,numpag,numedicao from livro l inner join editora e on l.cd_editora=e.cd_editora where like '.$tipo.'='$pesq%'";
$resultado = mysql_query($sql,$conexao) or die(mysql_error());
$linhas = mysql_fetch_array($resultado);

$cdlivro = $linhas["l.cd_livro"];
$titulo = $linhas["l.titulo"];
$isbn = $linhas["l.isbn"];
$cd_editora = $linhas["e.desc_editora"];
$numpag = $linhas["l.numpag"];
$numedicao = $linhas["l.numedicao"];

if(!$pesq)
{
echo "Livro nao encontrado!";
exit;
}
else
{
echo "Codigo do livro: $cdlivro <br>";
echo "Titulo: $titulo <br>";
echo "ISBN: $isbn <br>";
echo "Editora: $cd_editora<br>";
echo "Numero de paginas: $numpag ";
echo "Numero de edicao: $numedicao <br><br>";
}
}
?>

Continua, no mesmo...

Onde estou errando?


5. Re: problemas na pesquisa de livros

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 19/06/2008 - 16:59h

pq não esta pesquisando os livros digitados no campo, mesmo com o bd alimentado?
Segue o script?
<html>
<head>
<title> Pesquisa </title>
</head>
<body>
<center>
<form action="pesquisa_livros.php" method="POST">
<h2> Pesquisa de livros </h2>
<input type="radio" name="opcBusca" value="Autor" checked> Autor
<input type="radio" name="opcBusca" value="Titulo" checked> Titulo
<br><br>
Pesquisa: <input type="text" name="pesq" size="40">
<input type="submit" name="buscalivros" value="Buscar">
</form>
</center>
</body>
</html>
<?php
include "mysqlconecta.php";
if($_POST['buscalivros'])
{
$tipo = $_POST['opcBusca']; echo $tipo; echo "<br> " .$pesq; echo "<br>";
$pesq = $_POST['pesq'];
if(empty($pesq))
{
echo "Erro! campo pesquisa em branco!";
exit;
}
else
{

$sql = "select cd_livro,titulo,autor,ibsn,desc_editora,numpag,numedicao from livro l inner join editora e on l.cd_editora=e.cd_editora where $tipo like '$pesq%' ";
$resultado = mysql_query($sql) or die("Erro na consulta" .mysql_error());
$linhas = mysql_num_rows($resultado);

if($linhas == 0)
{
echo "Nenhum livro encontrado!";
exit;
}
else
{
echo "<table width=100%";
echo "<tr>";
echo "th>Codigo livro</th>
<th>Titulo </th>
<th>Autor </th>
<th>ISBN </th>
<th>Editora </th>
<th>Numero de paginas </th>
<th>Edicao </th> </tr>";
if($linhas > 0)
{
$cont=0;
echo "Encontrado(s) $linhas livros na pesquisa $pesq <br><br>";
for($i=0; i<$linhas; $i++)
{
echo "<td>" .mysql_result($resultado,$i,"cod_livro");
echo "<td>" .mysql_result($resultado,$i,"titulo");
echo "<td>" .mysql_result($resultado,$i,"autor");
echo "<td>" .mysql_result($resultado,$i,"isbn");
echo "<td>" .mysql_result($resultado,$i,"desc_editora");
echo "<td>" .mysql_result($resultado,$i,"numpag");
echo "<td>" .mysql_result($resultado,$i,"numedicao");
echo "</tr>\n";
echo "</table>";
}
}
}
}
}
?>
o erro esta na consulta = Unknown column 'cd_livro' in 'field list'
as tabelas são:
create table livro(
cd_livro int,
titulo varchar(100),
autor varchar(100),
isbn varchar(30),
cd_editora int,
numpag int,
numedicao int,
primary key(cd_livro),
foreign key(cd_editora) references editora(cd_editora)
);

create table editora(
cd_editora int,
desc_editora varchar(60),
primary key(cd_editora)
);


6. Re: problemas na pesquisa de livros

anna kamilla
annakamilla

(usa Manjaro Linux)

Enviado em 11/10/2008 - 19:54h

ve se o banco de dados ou a tabela está com outro nome



7. cd_livro e cod_livro

Paulo Sergio Travaglia
pstglia

(usa Slackware)

Enviado em 12/10/2008 - 09:54h

Vi que no select é selecionado o campo "cd_livro". Mas na hora de realizar o fetch é citado como "cod_livro".
Por um acaso o nome do campo não é cod_livro?

Para confirmar, abra o banco com o Mysql e de um describe na tabela.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts