Hijack 1 Denunciar post Postado Agosto 16, 2013 Boa noite, após examinar o código umas "centenas" de vezes não estou a conseguir perceber o que estou a fazer errado. A ideia é caso exista registos, eles sejam exibidos neste bloco de código: <?php $sql = "SELECT id_noticia, data, titulo, categoria, tbl_noticias.*, tbl_categorias_noticias.* FROM tbl_noticias, tbl_categorias_noticias WHERE tbl_noticias.id_categoria_noticia = tbl_categorias_noticias.id_categoria_noticia AND tbl_noticias.status = 1 ORDER BY data DESC LIMIT 5;"; $consulta = mysql_query($sql) or die(mysql_error()); $total = mysql_num_rows($consulta) or die(mysql_error()); if($consulta){ echo "<table class=\"tablesorter\" cellspacing=\"0\">"; echo "<thead>"; echo "<tr>"; echo "<th></th>"; echo "<th>Nome</th>"; echo "<th>Categoria</th>"; echo "<th>Data de Publicação</th>"; echo "<th>Ações</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; while($mostrar = mysql_fetch_array($consulta)){ $idartigo = $mostrar['id_noticia']; $categoria = $mostrar['categoria']; $titulo = $mostrar['titulo']; $data = $mostrar['data']; echo "<tr>"; echo "<td><input type=\"checkbox\"></td>"; echo "<td>". $titulo ."</td>"; echo "<td>". $categoria ."</td>"; echo "<td>". $data ."</td>"; echo "<td> <a href=\"editarartigo.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/icn_edit.png\" name=\"alterar\" title=\"Alterar\" value=\"Editar\"></a> <a href=\"sistema/excluirartigo.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/icn_trash.png\" title=\"Excluir\"></a> <a href=\"previsualizar.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/eye.png\" title=\"Visualizar\"></a></td>"; echo "</tr>"; } } caso contrario, exibe a mensagem contida neste bloco de código: else{ echo "<table class=\"tablesorter\" cellspacing=\"0\">"; echo "<thead>"; echo "<tr>"; echo "<th></th>"; echo "<th>Nome</th>"; echo "<th>Categoria</th>"; echo "<th>Data de Publicação</th>"; echo "<th>Ações</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; echo "<tr>"; echo "<td></td>"; echo "<td>Não existem noticias publicadas</td>"; echo "<td></td>"; echo "<td></td>"; echo "<td></td>"; echo "<tr>"; echo "</tbody>"; echo "</table>"; } a questão é que, quando não existe registos, não exibe o bloco de código dentro do else. Alguém me pode ajudar? Aqui está o código completo: <div id="tab1" class="tab_content"> <?php $sql = "SELECT id_noticia, data, titulo, categoria, tbl_noticias.*, tbl_categorias_noticias.* FROM tbl_noticias, tbl_categorias_noticias WHERE tbl_noticias.id_categoria_noticia = tbl_categorias_noticias.id_categoria_noticia AND tbl_noticias.status = 1 ORDER BY data DESC LIMIT 5;"; $consulta = mysql_query($sql) or die(mysql_error()); $total = mysql_num_rows($consulta) or die(mysql_error()); if($consulta){ echo "<table class=\"tablesorter\" cellspacing=\"0\">"; echo "<thead>"; echo "<tr>"; echo "<th></th>"; echo "<th>Nome</th>"; echo "<th>Categoria</th>"; echo "<th>Data de Publicação</th>"; echo "<th>Ações</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; while($mostrar = mysql_fetch_array($consulta)){ $idartigo = $mostrar['id_noticia']; $categoria = $mostrar['categoria']; $titulo = $mostrar['titulo']; $data = $mostrar['data']; echo "<tr>"; echo "<td><input type=\"checkbox\"></td>"; echo "<td>". $titulo ."</td>"; echo "<td>". $categoria ."</td>"; echo "<td>". $data ."</td>"; echo "<td> <a href=\"editarartigo.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/icn_edit.png\" name=\"alterar\" title=\"Alterar\" value=\"Editar\"></a> <a href=\"sistema/excluirartigo.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/icn_trash.png\" title=\"Excluir\"></a> <a href=\"previsualizar.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/eye.png\" title=\"Visualizar\"></a></td>"; echo "</tr>"; } } else{ echo "<table class=\"tablesorter\" cellspacing=\"0\">"; echo "<thead>"; echo "<tr>"; echo "<th></th>"; echo "<th>Nome</th>"; echo "<th>Categoria</th>"; echo "<th>Data de Publicação</th>"; echo "<th>Ações</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; echo "<tr>"; echo "<td></td>"; echo "<td>Não existem noticias publicadas</td>"; echo "<td></td>"; echo "<td></td>"; echo "<td></td>"; echo "<tr>"; echo "</tbody>"; echo "</table>"; } mysql_free_result($consulta); ?> </tbody> </table> </div><!-- Fim do separador #tab1 --> <div id="tab2" class="tab_content"> <?php $sql = "SELECT id_noticia, data, titulo, categoria, tbl_noticias.*, tbl_categorias_noticias.* FROM tbl_noticias, tbl_categorias_noticias WHERE tbl_noticias.id_categoria_noticia = tbl_categorias_noticias.id_categoria_noticia AND tbl_noticias.status != 1 ORDER BY data DESC LIMIT 5;"; $consulta = mysql_query($sql) or die(mysql_error()); $total = mysql_num_rows($consulta) or die(mysql_error()); if(($total)>0){ echo "<table class=\"tablesorter\" cellspacing=\"0\">"; echo "<thead>"; echo "<tr>"; echo "<th></th>"; echo "<th>Nome</th>"; echo "<th>Categoria</th>"; echo "<th>Data de Publicação</th>"; echo "<th>Ações</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; while($mostrar = mysql_fetch_array($consulta)){ $idartigo = $mostrar['id_noticia']; $categoria = $mostrar['categoria']; $titulo = $mostrar['titulo']; $data = $mostrar['data']; echo "<tr>"; echo "<td><input type=\"checkbox\"></td>"; echo "<td>". $titulo ."</td>"; echo "<td>". $categoria ."</td>"; echo "<td>". $data ."</td>"; echo "<td> <a href=\"editarartigo.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/icn_edit.png\" name=\"alterar\" title=\"Editar\" value=\"alterar\"></a> <a href=\"sistema/excluirartigo.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/icn_trash.png\" title=\"Excluir\"></a> <a href=\"previsualizar.php?id_noticia=$idartigo\"><input type=\"image\" src=\"images/eye.png\" title=\"Visualizar\"></a></td>"; echo "</tr>"; } }else{ echo "<table class=\"tablesorter\" cellspacing=\"0\">"; echo "<thead>"; echo "<tr>"; echo "<th></th>"; echo "<th>Nome</th>"; echo "<th>Categoria</th>"; echo "<th>Data de Publicação</th>"; echo "<th>Ações</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; echo "<tr>"; echo "<td></td>"; echo "<td>Não existem noticias publicadas</td>"; echo "<td></td>"; echo "<td></td>"; echo "<td></td>"; echo "<tr>"; echo "</tbody>"; echo "</table>"; } ?> </tbody> </table> </div><!-- Fim do separador #tab2 --> Se alguém me puder ajudar, fico grato. Obrigado a todos Não sei porque motivo aconteceu mas este tópico foi duplicado, podem apagar o segundo. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 16, 2013 troque [inline]if ($consulta)[/inline] por [inline]if ($total)[/inline] Compartilhar este post Link para o post Compartilhar em outros sites
Hijack 1 Denunciar post Postado Agosto 16, 2013 Obrigado pela resposta Evandro Oliveira, mas também já o fiz e continuo com o mesmo problema. Compartilhar este post Link para o post Compartilhar em outros sites