Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Código pra busca avançada, to vendo uns tutoriais e não ta dando certo, me ajudem!
Código:
>
<?php
$pega_tipo = mysql_query("SELETCT * FROM tipo ORDER BY id DESC");
if(mysql_num_rows($pega_tipo) == 0) { <-- linha 28
echo '<option value=""> Não foram encontrado tipos ainda</option>';
}else{
while($linha = mysql_fetch_array($pega_tipos)){
echo '<option value=""'.$linha['id'].'> '.$linha['tipo'].'</option>';
}
}
?>
Erro:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\pesquisa2\index.php on line 28
Grato.
Nessa linha
$pega_tipo = mysql_query("SELETCT * FROM tipo ORDER BY id DESC");
não seria
$pega_tipo = mysql_query("SELECT * FROM tipo ORDER BY id DESC");
troque o SELETCT por SELECT.
Abraço.
após corrigir a SQL,
para buscas em bancos de dados, pesquise sobre a cláusula where; exemplos:
>
após corrigir a SQL,
para buscas em bancos de dados, pesquise sobre a cláusula where; exemplos:
http://beginner-sql-tutorial.com/pt/sql-where-clause.htm
http://www.macoratti.net/vb_sql2.htm
Boa observação Fernando.
Abraço.
Cara, tem algumas coisas erradas (montagem do combo) ainda mas como eu não vi seu código completo, vou me calar.
Segue algumas alterações básicas...
faz um teste ai.
<?php
$pega_tipo = mysql_query("SELECT * FROM tipo ORDER BY id DESC");
while($linha = mysql_fetch_array($pega_tipos)){
if(mysql_num_rows($linha) == 0) {
echo '<option value=""> Não foram encontrado tipos ainda</option>';
}else{
echo '<option value=""'.$linha['id'].'> '.$linha['tipo'].'</option>';
}
}
?>Por se tratar de um sistema de busca seria necessário a utilização do
WHERE
não?!
Mais enfim ...
Aqui tem o código reescrito de maneira correta:
<?php
$pega_tipo = mysql_query("SELECT * FROM tipo ORBER BY id DESC") or die (mysql_error());
if(mysql_num_rows($pega_tipo) <= 0){
echo '<option value="-1">Não foram encontrados tipos ainda</option>';
}else{
while($linha = mysql_fetch_array($pega_tipo)){
echo '<option value="'.$linha['id'].'">'.$linha['tipo'].'</option>';
}
}
?>Bom, corrigi o código da maneira que vocês falaram, o erro não aparece mais porém ele não esta puxando as informações do database, segue imagens das minhas tabelas, e da página que estou criando, e aqui o código completo.
>
<?php
$conectar = mysql_connect('127.0.0.1','root','');
$db = mysql_select_db('pesquisa');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml](http://www.w3.org/1999/xhtml)">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<span>Tipo</span><br>
<select name="tipo">
<option value="" selected="selected" >Selecione o tipo...</option>
</select><br />
<?php
$tipo= mysql_query("SELECT * FROM tipo ORDER BY id DESC") or die (mysql_error());
if(mysql_num_rows($tipo) <= 0){
echo '<option value="">Não foram encontrados tipos ainda</option>';
}else{
while($linha = mysql_fetch_array($tipo)){
echo '<option value="'.$linha['id'].'">'.$linha['tipo'].'</option>';
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<span>Bairro</span>
<select name="bairro">
<option value="" >Selecione o bairro...</option>
</select><br />
<?php
$bairros= mysql_query("SELECT * FROM bairros ORDER BY id DESC") or die (mysql_error());
if(mysql_num_rows($bairros) <= 0){
echo '<option value="">Não foram encontrados bairros ainda</option>';
}else{
while($linha = mysql_fetch_array($bairros)){
echo '<option value="'.$linha['id'].'">'.$linha['bairro'].'</option>';
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<span>Preço</span>
<select name="preco">
<option value="" >Selecione o preço...</option>
<option value="20000"> Até 20000</option>
<option value="50000"> Até 50000</option>
<option value="70000"> Até 70000</option>
<option value="100000"> Até 100000</option>
<option value="100000"> 100000 ou mais</option>
</select><br />
<hr />
</form>
</body>
</html>
Primeira imagem: Era para aparecer os tipos que estão no banco de dados aqui...
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/sB3Bu2C.jpg&key=cf701a6524649def178157c1f3e925208edcee8216966abc2d42c4c1bcce0ac2" alt="sB3Bu2C.jpg" />
Segunda e terceira imagem são as do meu banco de dados, nas respectivas colunas:
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/GmqNu4y.jpg&key=c601eef279ae4c61af75e58bec9e16a827254a8d37c3f26a0c8033e3b5bb9f84" alt="GmqNu4y.jpg" />
__________________________________________________________________________________________
/applications/core/interface/imageproxy/imageproxy.php?img=http://i.imgur.com/8VSvqWb.jpg&key=634a70fcd8563eb9696dc76a0562e0d05b3667578945fcaa1c1d1919b261e312" alt="8VSvqWb.jpg" />
podem fechar, ja resolvi era apenas o </select> fechado no lugar errado.
Obg pela ajuda de vcs!
abraços!
>
Boa observação Fernando.
Abraço.
opa.. valeu e outro abraço.. :thumbsup:
Cara, a mysql_num_rows() retorna o número de linhas encontradas na tabela incluindo o zero e 'false' em caso de falha então provavelmente o erro está na consulta. Confira se o nome da tabela e do campo estão corretos.