Enigma_avatar Posted November 10, 2011 Report Share Posted November 10, 2011 Amigos estou com uma duvida quanto a exibição de lista de campos porem apenas estar listando algumas categorias<? } // FIM DO ELSE } // FIM DA ACAO VER ULTIMAS // INICIO DA ACAO VER ULTIMAS if($acao == "outras_noticias"){ $dataHoje = date("Y-m-d H:i:s"); $wh1 = "AND data < '$dataHoje'"; //echo $wh1; if(!empty($limite2)){ $limite2 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 WHERE status='S' $wh1 $ordem"; //echo $busca; if($paginacao == "S"){ $total_reg = $qts_ultimos; if(!$page){ $page = "1"; } $inicio = $page-1; $inicio = $inicio*$total_reg; $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); } else { $limite = mysql_query("$busca $limite2"); } $todos = mysql_query("$busca"); $tr = mysql_num_rows($todos); $tp = @ceil($tr / $total_reg); if($tr > 0){ ?> <table border="0" cellpadding="1" cellspacing="0"> <? // Agora vamos montar o código. Pegue o valor total de resultados: $total = mysql_num_rows($limite); // Defina o número de colunas que você deseja exibir: //$colunas = "3"; //$colunas = "$qts_colunas"; // Agora vamos ao "truque": if ($total>0) { for ($i = 0; $i < $total; $i++) { if (($i%$colunas)==0) { $colspan = $colunas+$colunas+$colunas; ?> <tr> <? }?> <? $dados = mysql_fetch_array($limite); ?> <td align="center" valign="top"><table border="0" cellpadding="0" cellspacing="0"> <tr> <td width="<?=$largura_coluna?>" align="right" valign="middle"><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <? if(!empty($dados[foto])){?> <td width="<?=$largura+5;?>" height="<?=$altura+8;?>" align="left" valign="top"> <table border="0" cellpadding="1" cellspacing="0" bgcolor="<?=$corcelula1?>"> <tr> <td><table border="0" cellspacing="0" cellpadding="3"> <tr> <td bgcolor="#FFFFFF"><a href='<?="?pg=$link_page&id=$dados[id]";?>'><img src="<?="thumbs.php?w=$largura&h=$altura&imagem=images/$tabela1/$dados[id]/$dados[foto]";?>" width="<?=$largura?>" height="<?=$altura?>" border="0" style="FILTER: alpha(opacity=100);" onMouseOver="makevisible(this,0)" onMouseOut="makevisible(this,1)"></a></td> </tr> </table></td> </tr> </table></td> <? }?> <td align="right" valign="middle"> <? if($exibir_cat=="S"){?> <table width="100%" border="0" cellpadding="1" cellspacing="0"> <tr><td bgcolor="<?=$corcelula2?>"> <? $dados2 = mysql_fetch_array(mysql_query("SELECT * FROM noticias_cat WHERE id='$dados[id_cat]'")); echo "<font size='2' color='#18509E'><b>$dados2[nome]</b></font>"; ?></td> </tr> <tr> <td height="3"></td> </tr> </table> <? }?> <table width="98%" border="0" cellpadding="0" cellspacing="0"> <tr> <td><? echo "<a href='?pg=$link_page&id=$dados[id]'>"; echo strftime("<font size='1'>'%d de %B de %Y'</font>", strtotime($dados[data]))."<br>"; $contatamanho1 = strlen($dados[titulo]); if($contatamanho1 > $qt_letras1){ $titulo = substr_replace($dados[titulo], "...", $qt_letras1, $contatamanho1 - $qt_letras1); } else { $titulo = $dados[titulo]; } $contatamanho2 = strlen($dados[subtitulo]); if($contatamanho2 > $qt_letras2){ $subtitulo = substr_replace($dados[subtitulo], "...", $qt_letras2, $contatamanho2 - $qt_letras2); } else { $subtitulo = $dados[subtitulo]; } echo "<font size='2' color='#18509E'>$titulo</font><br>"; echo "<font size='1' color='#333333'>$subtitulo</font><br>"; echo "</a>"; ?></td> </tr> </table> </td> </tr> </table></td> </tr> <tr><td height="2" colspan="4"></td></tr> <tr><td colspan="4" height="1" bgcolor="<?=$corcelula2?>"></td></tr> <tr><td height="2" colspan="4"></td></tr> </table></td> <? }?> </TR> <? }?> </table> <? // INICIO DA PAGINAÇÃO if($paginacao == "S"){ include "estrutura/paginacao.php"; } // FIM DA PAGINAÇÃO ?> <? } else {?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"><br /> nenhum <b>registro</b><b> </b>encontrado!<br /> <br /> </td> </tr> </table> <? } // FIM DO ELSE } // FIM DA ACAO VER ULTIMAS // INICIO DA ACAO VER ULTIMAS 3 if($acao == "ultimas_noticias"){ $dataHoje = date("Y-m-d H:i:s"); $wh1 = "AND data < '$dataHoje'"; // echo $wh1; if(!empty($idcat)){ $wh2 = "AND id_cat = '$idcat' "; } if(!empty($limite2)){ $limite3 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 WHERE status='S' $wh1 $wh2 $ordem"; //echo $busca; if($paginacao == "S"){ $total_reg = $qts_ultimos; if(!$page){ $page = "1"; } $inicio = $page-1; $inicio = $inicio*$total_reg; $limite = mysql_query("$busca LIMIT $inicio,$total_reg"); } else { $limite = mysql_query("$busca $limite3"); } $todos = mysql_query("$busca"); $tr = mysql_num_rows($todos); $tp = @ceil($tr / $total_reg); if($tr > 0){ ?> <table border="0" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF"> <? // Agora vamos montar o código. Pegue o valor total de resultados: $total = mysql_num_rows($limite); // Defina o número de colunas que você deseja exibir: //$colunas = "3"; //$colunas = "$qts_colunas"; // Agora vamos ao "truque": if ($total>0) { for ($i = 0; $i < $total; $i++) { if (($i%$colunas)==0) { $colspan = $colunas+$colunas+$colunas; ?> <tr> <? }?> <? $dados = mysql_fetch_array($limite); ?> <td align="center" valign="top"><table border="0" cellpadding="0" cellspacing="0"> <tr> <td width="<?=$largura_coluna?>" align="right" valign="middle"><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <? if(!empty($dados[foto])){?> <td width="<?=$largura+5;?>" height="<?=$altura+8;?>" align="left" valign="middle"> <table border="0" cellpadding="1" cellspacing="0" bgcolor="<?=$Cor1?>"> <tr> <td><table border="0" cellspacing="0" cellpadding="3"> <tr> <td bgcolor="#FFFFFF"><a href='<?="?pg=$link_page&id=$dados[id]";?>'><img src="<?="thumbs.php?w=$largura&h=$altura&imagem=images/$tabela1/$dados[id]/$dados[foto]";?>" width="<?=$largura?>" height="<?=$altura?>" border="0" style="FILTER: alpha(opacity=100);" onMouseOver="makevisible(this,0)" onMouseOut="makevisible(this,1)"></a></td> </tr> </table></td> </tr> </table></td> <? }?> <td align="right" valign="middle"> <? if($exibir_cat=="S"){?><table width="100%" border="0" cellpadding="1" cellspacing="0"> <tr><td bgcolor="<?=$corcelula2?>"> <? $dados2 = mysql_fetch_array(mysql_query("SELECT * FROM noticias_cat WHERE id='$dados[id_cat]'")); echo "<font class='titulos cor'>$dados2[nome]</font>"; ?></td> </tr> <tr> <td height="3"></td> </tr> </table><? }?> <table width="99%" border="0" cellpadding="0" cellspacing="0"> <tr> <td><? echo "<a href='?pg=$link_page&id=$dados[id]'>"; echo strftime("%d de %B de %Y", strtotime($dados[data]))."<br>"; $contatamanho1 = strlen($dados[titulo]); if($contatamanho1 > $qt_letras1){ $titulo = substr_replace($dados[titulo], "...", $qt_letras1, $contatamanho1 - $qt_letras1); } else { $titulo = $dados[titulo]; } $contatamanho2 = strlen($dados[subtitulo]); if($contatamanho2 > $qt_letras2){ $subtitulo = substr_replace($dados[subtitulo], "...", $qt_letras2, $contatamanho2 - $qt_letras2); } else { $subtitulo = $dados[subtitulo]; } echo "<font class='titulos2 cor'>$titulo</font><br>"; echo "$subtitulo<br>"; echo "</a>"; ?></td> </tr> </table> </td> </tr> <tr><td height="1" colspan="<?=$colspan?>" bgcolor="<?=$corcelula2?>"></td></tr> <tr><td height="2"></td></tr> </table></td> </tr> </table></td> <? }?> </TR> <? }?> </table> <? // INICIO DA PAGINAÇÃO if($paginacao == "S"){ include "estrutura/paginacao.php"; } // FIM DA PAGINAÇÃO ?> <? } else {?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center"><br /> nenhum <b>registro</b><b> </b>encontrado!<br /> </td> </tr> </table> <? } // FIM DO ELSE } // FIM DA ACAO VER ULTIMAS 3 ?>não quero exibir o conteudo de algumas categorias, estou fazendo a seguinte mudanca porem não esta funcionando if(!empty($idcat)){ $wh2 = "AND id_cat ! ='22' AND ! id_cat ='23' = '$idcat' "; }segue em funcionamento o sitehttp://noticiasgerais.com.brvendo pelo site o que quero fazer é não listar em ultimas noticias as noticias postadas na categoria videos(22), charges(23) e entrevista(18) Quote Link to comment Share on other sites More sharing options...
0 Spiderpoison Posted November 10, 2011 Report Share Posted November 10, 2011 tente usar um FIND_IN_SET no comando do SQL, ficará mais simples, ex:SELECT id_cat,campo FROM tabela WHERE NOT FIND_IN_SET(id_cat,'22,23,24,etc') Quote Link to comment Share on other sites More sharing options...
0 Enigma_avatar Posted November 10, 2011 Author Report Share Posted November 10, 2011 tentei de 2 formas e mesmo assim continua ser exibido1if(!empty($idcat)){ $wh2 = "AND id_cat NOT FIND_IN_SET(id_cat,'22,23,17') = '$idcat' "; } 2 if(!empty($idcat)){ $wh2 = "AND id_cat = '$idcat' "; } if(!empty($limite2)){ $limite3 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 WHERE NOT FIND_IN_SET(id_cat,'22,23,17') AND status='S' $wh1 $wh2 $ordem"; pelo menos na teoria o mesmo comando usado para o mesmo proposito para não exibir topicos de um forum funciona perfeitamente $result = @mysql_query("SELECT * FROM phpbb_topics WHERE forum_id != '4' AND forum_id != '8' AND forum_id != '25' AND forum_id != '34' AND forum_id != '44' AND forum_id != '53' AND forum_id != '62' AND forum_id != '71' AND forum_id != '76' ORDER BY topic_id DESC LIMIT 15 ");fico na espera de uma luz ainda :P Quote Link to comment Share on other sites More sharing options...
0 Rogério Kleinkauf Posted November 10, 2011 Report Share Posted November 10, 2011 (edited) Essa é facil amigoCláussula NOT IN$result = @mysql_query("SELECT * FROM phpbb_topics WHERE forum_id != '4' AND forum_id != '8' AND forum_id != '25' AND forum_id != '34' AND forum_id != '44' AND forum_id != '53' AND forum_id != '62' AND forum_id != '71' AND forum_id != '76' ORDER BY topic_id DESC LIMIT 15 "); Fica assim $result = @mysql_query("SELECT * FROM phpbb_topics WHERE forum_id NOT IN (4,8,25,34,44,53,62,71,76) ORDER BY topic_id DESC LIMIT 15;");Ficou facil agora né?PS: Não esqueça do ; no fim da sua cláussula, isso evita que o servidor fique esperando mais comandos.Qualquer dúvida só gritar ;)Abços! Edited November 10, 2011 by Rogério Kleinkauf Quote Link to comment Share on other sites More sharing options...
0 Enigma_avatar Posted November 10, 2011 Author Report Share Posted November 10, 2011 otimo amigo resumiu bastante esse outro codigo de exemplo , vou testar aki na duvida em questao , porem a solução que busco é para os problemas citados acima.não funcionou not in no problema :wacko: Quote Link to comment Share on other sites More sharing options...
0 Rogério Kleinkauf Posted November 10, 2011 Report Share Posted November 10, 2011 Amigo, joga sua query aqui exatamente como ela ficou no seu codigo, ela com as variaveis php e ela com as váriaveis já preenchidas. Quote Link to comment Share on other sites More sharing options...
0 Enigma_avatar Posted November 10, 2011 Author Report Share Posted November 10, 2011 mais uma vez tentei de 2 maneirasif(!empty($idcat)){ $wh2 = "AND id_cat = '$idcat' "; } if(!empty($limite2)){ $limite3 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 status='S' $wh1 NOT IN (22,23,17) $ordem"; 2 if(!empty($idcat)){ $wh2 = "AND NOT IN (id_cat,22,23,17) "; } if(!empty($limite2)){ $limite3 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 status= 'S' $wh1 $wh2 $ordem"; Quote Link to comment Share on other sites More sharing options...
0 Rogério Kleinkauf Posted November 10, 2011 Report Share Posted November 10, 2011 mais uma vez tentei de 2 maneirasif(!empty($idcat)){ $wh2 = "AND id_cat = '$idcat' "; } if(!empty($limite2)){ $limite3 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 status='S' $wh1 NOT IN (22,23,17) $ordem"; 2 if(!empty($idcat)){ $wh2 = "AND NOT IN (id_cat,22,23,17) "; } if(!empty($limite2)){ $limite3 = "LIMIT $limite2"; } $busca = "SELECT * FROM $tabela1 status= 'S' $wh1 $wh2 $ordem"; Faltou o WHERE ai no meio amigo. $busca = "SELECT * FROM $tabela1 WHERE status='S' $wh1 NOT IN (22,23,17) $ordem";dá um echo na $busca e posta aqui pra gente ver. Quote Link to comment Share on other sites More sharing options...
Question
Enigma_avatar
Amigos estou com uma duvida quanto a exibição de lista de campos porem apenas estar listando algumas categorias
não quero exibir o conteudo de algumas categorias, estou fazendo a seguinte mudanca porem não esta funcionando
if(!empty($idcat)){
$wh2 = "AND id_cat ! ='22' AND ! id_cat ='23' = '$idcat' ";
}
segue em funcionamento o site
http://noticiasgerais.com.br
vendo pelo site o que quero fazer é não listar em ultimas noticias as noticias postadas na categoria videos(22), charges(23) e entrevista(18)
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.