JangoPI 0 Denunciar post Postado Maio 9, 2013 Boa tarde pessoal, gostaria de uma dica para exibir apenas dados de uma categoria e por data, no caso as categorias são 8 e 38, quero exibir apenas a da categoria 8o coluna da tabela é idcat, sou novo nisso já fiz alguns ajustes pra exibir mais não consegui.Codigo da página para exibir os dados do banco de dados: <? $pg=$_GET[pg]; $page=$_GET ; $busca = "SELECT * FROM noticias_dados order by data desc"; $palavra = "Notícia(s)"; $total_reg = "6"; $idcat = "8"; if(!$page){ $page = "1"; } $inicio = $page-1; $inicio = $inicio*$total_reg; $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); $todos = mysql_query("$busca,$idcat"); $tr = mysql_num_rows($todos); $tp = ceil($tr / $total_reg); if(mysql_num_rows($todos)>0){ ?> <br> <table width="98%" align="center" cellpadding="0" cellspacing="0"> <tr><td height="3" colspan="2"></td></tr> <tr><td height="1" colspan="2" background="images/layout/barrinha_divisao_horizontal.gif"></td></tr> <tr><td height="3" colspan="2"></td></tr> <? while ($dados=mysql_fetch_array($limite)) { ?> <TR> <TD align='left' valign="middle">• <a href=?pg=noticia&id=<? echo $dados[id]?>> <? $data = explode("-",$dados[data]); echo "[$data[2]/$data[1]/$data[0]] - <strong>$dados[titulo]</strong>";?> </a></span></Td> </TR> <tr><td height="3" colspan="2"></td></tr> <tr><td height="1" colspan="2" background="images/layout/barrinha_divisao_horizontal.gif"></td></tr> <tr><td height="3" colspan="2"></td></tr> <? }?> </table> <? } else {?> <BR> <table width="98%" align="center" cellpadding="0" cellspacing="0"> <TR> <TD align="center" valign="bottom"> <br> <br> <br> <br> Nenhuma <b><? echo $palavra?></b> encontrada em <br> nosso banco de dados!<br> <br> <br> </td> </tr> </table> <? } ?> <br> Obrigado pela paciência! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 9, 2013 use o WHERE http://www.tutorialspoint.com/mysql/mysql-where-clause.htm Compartilhar este post Link para o post Compartilhar em outros sites
JangoPI 0 Denunciar post Postado Maio 9, 2013 ok consegui, vlw amigo, agora gostaria de que um item dessa tabela permanecesse sempre em primeiro independente de outras entradas futuras, tem alguma ideia de como fazer isso? Obrigado pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 9, 2013 Com o ORDER BY não vai ? Compartilhar este post Link para o post Compartilhar em outros sites
JangoPI 0 Denunciar post Postado Maio 9, 2013 o codigo ta assim agora <table width="580" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="titulo"><ul> <li class="li2">Agenda</li> </ul></td> </tr> <tr> <td width="507" valign="top"> <table width="580" border="0" align="left" cellpadding="0" cellspacing="0" class="txtbox"> <tr align="left"> <td valign="top" class="txt"><? $sql = mysql_query("SELECT * FROM noticias_dados where idcat='8' order by data desc LIMIT 5"); $sql2 = mysql_query("SELECT * FROM noticias_dados where destaque='sim' order by data desc LIMIT 5"); $total = mysql_num_rows($sql); if ($total==0) { echo "<br><center>Nenhum registro encontrado!</center>";} else if ($total>0) { $x=0; ?><br> <table width="507" border=0 cellpadding=2 cellspacing=0> <? while ($dados=mysql_fetch_array($sql)) {?> <? $contatamanho = strlen($dados[texto]); if(empty($quantidade)){ $quantidade = 200; } $quantidade = 200; if($contatamanho > $quantidade){ $dados[texto] = substr_replace($dados[texto], "...", $quantidade, $contatamanho - $quantidade); } else { $dados[texto] = "$dados[texto]"; } $contatamanho = strlen($dados[titulo]); if(empty($quantidade)){ $quantidade = 45; } $quantidade = 45; if($contatamanho > $quantidade){ $titulo = substr_replace($dados[titulo], "...", $quantidade, $contatamanho - $quantidade); } else { $titulo = "$dados[titulo]"; } $data = explode("-", $dados[data]); $data = "$data[2]/$data[1]/$data[0]"; ?> <tr> <td class="espa"><? $dados2=mysql_fetch_array(mysql_query("SELECT * FROM noticias_categorias where id='$dados[idcat]'")); if($dados[foto01] != "") { $data = explode("-",$dados[data]); echo "<font class='linknoticia' style='text-transform:uppercase;'>[$data[2]/$data[1]/$data[0]]</font>"; echo "<a class='linknoticia' href='?pg=noticia&id=$dados[id]'><img style='border:1px solid #999999;' align=left src='thumbs.php?w=$largura&h=$altura&imagem=images/noticias/$dados[id]/$dados[foto01]' border='$dados[borda]' hspace='5' title='$dados[subtitulo]'></a> <a class='linknoticia' style='text-transform:uppercase;' href='?pg=noticia&id=$dados[id]'> $titulo</a><br /><br /> <a class='linknoticia2' href='?pg=noticia&id=$dados[id]'>$dados[texto]</a> <font class='postagemautor'>(v. $dados[cont])</font>"; } else{ $data = explode("-",$dados[data]); echo "<font class='linknoticia'> <style='text-transform:uppercase;'>[$data[2]/$data[1]/$data[0]]</font>"; echo "<a class='linknoticia' href='?pg=noticia&id=$dados[id]'></a> <a class='linknoticia' style='text-transform:uppercase;' href='?pg=noticia&id=$dados[id]'> $titulo</a><br /><br /> <a class='linknoticia2' href='?pg=noticia&id=$dados[id]'>$dados[texto]</a> <font class='postagemautor'>(v. $dados[cont])</font>"; }?> <br> <br></td> </tr> <? $x++; } // end while ?> <tr><td height="1" background="images/layout/barrinha_divisao_horizontal.gif"></td></tr> </table> <? } // end if numberall > 0 ?></td> </tr> </table> </table> ta indo so que eu quero um em especifica que fique sempre em primeiro, acho que vendo o código da pra ter uma ideia Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 9, 2013 algo assim ?! SELECT * FROM noticias_dados where idcat='8' order by (case idcliente = '123' then 0 else 1 end),data desc LIMIT 5 Compartilhar este post Link para o post Compartilhar em outros sites
JangoPI 0 Denunciar post Postado Maio 10, 2013 Vou tentar aki jaja eu digo se deu certo Compartilhar este post Link para o post Compartilhar em outros sites
JangoPI 0 Denunciar post Postado Maio 10, 2013 coloquei assim e não deu certo, segue o codigo abaixo: $sql = mysql_query("SELECT * FROM noticias_dados where destaque='sim' order by data desc LIMIT 5"); $sql2 = mysql_query("SELECT * FROM noticias_dados where idcat='8' order by (case id = '1531' then 0 else 1 end),data desc LIMIT 5"); $total = mysql_num_rows($sql); Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 10, 2013 Mas a $sql2 foi executada ? (Só ela tem o order bym não?) Compartilhar este post Link para o post Compartilhar em outros sites
JangoPI 0 Denunciar post Postado Maio 10, 2013 sim está apenas pegando o dados da tabela que tem idcat = 8 $sql também tem order by Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 10, 2013 Sim, mas não com a CASE do cliente VIP. Compartilhar este post Link para o post Compartilhar em outros sites