Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) opção de inserir as mais lidas no portal


Von_Reibnitz

Pergunta

Olá, possuo este código de uma página que exibe as notícias:

exibe2.php

<?
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;
foreach ($variables as $k=> $v)
$$k=$v;

$tabela1 = "noticias";
$tabela2 = "users";
$tabela3 = "cidades";

$file = "$tabela1";


// INICIO DA ACAO DE EXIBIR
if($acao == "ver"){

$busca = "SELECT * FROM $tabela1 WHERE id='$id'";
$sql = mysql_query($busca);
$dados = mysql_fetch_array($sql);

$data1 = strftime("%d/%m/%Y às %Hh%Mmin", strtotime($dados[data]));
$data2 = strftime("%d/%m/%Y às %Hh%Mmin", strtotime($dados[data2]));

$data = "$data1 - Atualizada em $data2"; 

//$sql2 = "SELECT * FROM $tabela2 WHERE id='$dados[id_user]'";
$sql2 = "SELECT * FROM $tabela2 WHERE id='$dados[id_user]'";
$sql2 = mysql_query($sql2);
$dados2 = mysql_fetch_array($sql2);

$sql3 = "SELECT * FROM $tabela3 WHERE id='$dados2[id_cidade]'";
$sql3 = mysql_query($sql3);
$dados3 = mysql_fetch_array($sql3);
?>
&lt;script>var fontSize = <?=$tfonte?>;</script>
<table width='100%' border='0' cellpadding='2' cellspacing="0">
<tr> 
    <td style="border-bottom:1px solid <?=$corcelula2?>;"><?=$data?></td>
  </tr>
  <tr><td style="border-bottom:1px solid <?=$corcelula2?>;"><table width="100%" border="0" cellpadding="0" cellspacing="1">
      <tr>
        <td width="4%"><a href="mailto:<?=$dados2[email]?>"><img src="images/layout/icone_email.gif" border="0"></a></td>
        <td width="61%"><?="<b>$dados2[nome]</b> - $dados3[nome]($dados3[estado])";?></td>
        <td width="35%" align="right"><table border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="right" class="pequeno">  TAMANHO DA FONTE</td>
  <td width="3"></td>
            <td width="16" height="16" align="center" valign="middle" bgcolor="<?=$corcelula2?>" style="border:1px solid <?=$corcelula1?>;"><A href="java script:diminuir('mudaFonte')"><B>A-</B></A></td>
            <td width="3"></td>
            <td width="16" height="16" align="center" valign="middle" bgcolor="<?=$corcelula2?>" style="border:1px solid <?=$corcelula1?>;"><A href="java script:aumentar('mudaFonte')"><B>A+</B></A></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
  <tr> 
    <td class="titulosG coresportes"><? echo nl2br ($dados['titulo']);?></td>
  </tr>
  <? if($dados[subtitulo] != ""){?>
  <tr> 
    <td><B><i><? echo $dados['subtitulo']?></i></B></td>
  </tr>
  <? }?> 
  <tr> 
    <td valign="top">
    <br />
<div id="mudaFonte">
<? 
//$alinhara = ($dados[alinhamento_foto]=="R")?"right":"left";
$larguraG = ($dados[largura_foto]=="")?"250":"$dados[largura_foto]";
$alturaG = ($dados[altura_foto]=="")?"h=":"h=$dados[altura_foto]";
echo "<a href='thumbs.php?w=$LarguraFoto&imagem=images/$tabela1/$dados[id]/$dados[foto]' rel='lightbox' title='$dados[titulo]'>";
echo "<img src='thumbs.php?w=$larguraG&$alturaG&imagem=images/$tabela1/$dados[id]/$dados[foto]' align='center' border='0'>";
echo "</a>";

$texto1 = "$dados[texto]";
$texto2 = str_replace('<font face="Verdana" size="2">', "", "$texto1");
$texto3 = str_replace('</font>', "", "$texto2");

echo nl2br($texto3);

echo "<br><br><i>$dados[creditos_fotos]</i>";
?>
</div>
<br />

    </td>
  </tr>
</table>
<br />
<?
// INICIO DOS BOTOES IMPRIMIR, INDICAR
if(empty($imprimir)){
    include "estrutura/imprimir.php";
}
// FIM DOS BOTOES IMPRIMIR, INDICAR
?>


<?
}
// FIM DA ACAO DE EXIBIR
?>


<?
if($acao == "ultimas"){

$busca = "SELECT * FROM $tabela2 WHERE status = 'S' AND noticias!='' ORDER by rand() LIMIT $limite";
//echo $busca;
$sql = mysql_query($busca);
//echo $sql;

$total = mysql_num_rows($sql);
//echo $total;


    if($total > 0){
?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr><td height="4"></td></tr>
<? while($dados = mysql_fetch_array($sql)){?>
  <tr>
    <td align="right">
    <table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="right">
<?
$busca2 = "SELECT * FROM $tabela1 WHERE id_cat REGEXP '$dados[noticias]' ORDER BY data desc";
//echo $busca2;
$sql2 = mysql_query($busca2);
//echo $sql2;
$dados2 = mysql_fetch_array($sql2);

echo "<a href='?pg=$link_page&id=$dados2[id]'>";
echo "<font class='laranja'><b>$dados[nome]</b></font><br />";

$contatamanho = strlen($dados2[titulo]);
    if($contatamanho > $qt_letras){
    $titulo = substr_replace($dados2[titulo], "...", $qt_letras, $contatamanho - $qt_letras);
    } else {
    $titulo = "$dados2[titulo]";
    }
    echo $titulo;
echo "</a>";
?>
</td>
    <td width="55" align="right"><img src="thumbs.php?w=<?=$largura?>&h=<?=$altura?>&imagem=images/users/<?=$dados[foto]?>"></td>
  </tr>
</table>

</td>
  </tr>
<tr><td height="5"></td></tr>  
<? }?>
</table>


    <? } else {?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>nenhum <b>registro</b> encontrado!</td>
  </tr>
</table>

    <? }?>

<? }?>

<?
// INICIO DA ACAO DE FOTOS EXTRAS
if($fotos == "S"){
    if($dados[fotos_extras] == "S"){

    echo "<br>";

$wh1 = "WHERE id = '$id'";

$busca = "SELECT * FROM $tabela1 $wh1 ORDER BY data desc";
//echo "$busca<br>";
$sql = mysql_query($busca);
$total = mysql_num_rows($sql);
$dados = mysql_fetch_array($sql);

    $dir = "images/$tabela1/$id/";
    //echo $dir;

        $dirhandle = opendir($dir);
        $fotos = array();
            while ($file = readdir($dirhandle)) {
            $files = $file;
            $arr_basename=explode(".",$files); 
            $file_type=strtolower("$arr_basename[1]");
                //if ($file_type == "jpg"){
                if($file_type == "jpg" && $file != "$dados[foto]"){ 
                $fotos[] = $files;
                }
            }
        closedir($dirhandle);
        sort($fotos);
            
            for($i=0;$i<count($fotos);$i++){ // para exibir em ordem alfabética
            //for ($i=count($fotos);$i>0;$i--){ // para exibir em ordem alfabética inversa

                echo "<a href='thumbs.php?w=$LarguraFoto&imagem=$dir$fotos[$i]' rel='lightbox[roadtrip]'>";
                echo "<img style='border:1px solid $corcelula1' onmouseover='makevisible(this,0)' onmouseout='makevisible(this,1)' src='thumbs.php?w=$largura&h=$altura&imagem=$dir$fotos[$i]' border='0' alt='$dados[descricao]' style='FILTER: alpha(opacity=100);'>";
                echo "</a> ";
            }
    }
    echo "<br><br><br>";
}
// FIM DA ACAO DE FOTOS EXTRAS
?>  

    <?
// INICIO DA ACAO DE OUTRAS
if($outras == "S"){

$sql2 = "SELECT * FROM $tabela2 WHERE id='$id'";
$sql2 = mysql_query($sql2);
$dados2 = mysql_fetch_array($sql2);

    if($acao == colunista){
    $wh1 = "WHERE id_cat = '$dados2[noticias]'";    
    } else {
    $wh1 = "WHERE id = '$id'";
    }
    
$busca = "SELECT * FROM $tabela1 $wh1 ORDER BY data desc";
$sql = mysql_query($busca);
$total = mysql_num_rows($sql);
$dados = mysql_fetch_array($sql);

    if($total > 0){
    
        $busca2 = "SELECT * FROM $tabela1 WHERE id_cat = '$dados[id_cat]' ORDER BY data desc LIMIT 10";
        //echo $busca2;
        $sql2 = mysql_query($busca2);
        //echo $sql2;
?>
    <br />
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td height="22" bgcolor="#336633" class="titulos2 branco">  OUTRAS 
      NOTÍCIAS</td>
</tr>
<tr><td height="5"></td></tr>
</table>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr><td height="4"></td></tr>
<? while($dados2 = mysql_fetch_array($sql2)){?>
  <tr>
    <td>
<?
$data = strftime("%d/%m/%Y", strtotime($dados2[data]));

echo "<a href='?pg=$link_page&id=$dados2[id]'>";
echo "$data - <font class='coresportes'><b>$dados2[titulo]</b></font>";
echo "</a>";
?>
</td>
</tr>
<tr><td height="1" bgcolor="<?=$corcelula2?>"></td></tr>  
<tr><td height="5"></td></tr>  
<? }?>
</table>


<? } else {?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>nenhuma <b><?=$palavra?></b> encontrada!</td>
  </tr>
</table>

    <? }?>

<?
}
// FIM DA ACAO DE OUTRAS



// INICIO DA ACAO VER ULTIMAS
if($acao == "ultimas_noticia"){

    $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)){
    $limite2 = "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 $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 height="5"></td>
       <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="<?=$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">
<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 coresportes'><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("%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='titulosG coresportes'><b>$titulo</b></font><br>";
        echo "$subtitulo<br>";    
    
echo "</a>";    
?></td>
  </tr>
</table>
</td>
</tr>
        
</table></td>
        

        
      </tr>
            <tr><td colspan="4" align="right" height="3"></td>
      </tr>
      <tr>
        <td height="5" 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">
  <?
// 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 coresportes'><b>$dados2[nome]</b></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='titulos coresportes'><b>$titulo</b></font><br>";
        echo "$subtitulo<br>";    
    
echo "</a>";    
?></td>
                </tr>
              </table>
              </td>
            </tr>
              <tr><td height="7"></td></tr>
              <tr><td height="1" colspan="<?=$colspan?>" bgcolor="<?=$corcelula2?>"></td></tr>
              <tr><td height="5"></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 />
<br />
</td>
  </tr>
</table>
<?
} // FIM DO ELSE
} // FIM DA ACAO VER ULTIMAS 3
?>

Gostaria de inserir uma opção ali que ao ler uma notícia seja marcada no banco de dados a sua leitura, com o intuito de mostrar as mais lidas do portal.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

e estrutura do banco é assim:

--
-- Estrutura da tabela `noticias`
--

CREATE TABLE IF NOT EXISTS `noticias` (
  `id` int(5) NOT NULL auto_increment,
  `id_user` varchar(5) NOT NULL default '4',
  `id_cat` char(3) NOT NULL default '',
  `data` datetime NOT NULL default '0000-00-00 00:00:00',
  `data2` datetime NOT NULL default '0000-00-00 00:00:00',
  `titulo` text NOT NULL,
  `subtitulo` text,
  `texto` text NOT NULL,
  `foto` varchar(255) default NULL,
  `fotos_extras` enum('S','N') NOT NULL default 'N',
  `creditos_fotos` varchar(255) NOT NULL default '',
  `alinhamento_foto` enum('L','R') NOT NULL default 'L',
  `largura_foto` char(3) NOT NULL default '250',
  `altura_foto` char(3) NOT NULL default '',
  `status` enum('S','N') NOT NULL default 'S',
  `cont` bigint(20) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=630;

Link para o comentário
Compartilhar em outros sites

  • 0

fiz assim:

<?
// INICIO DO UPDATE 
$query3="UPDATE `$tabela1` SET cont=$cont+1 WHERE id = '$id'";
$result3=mysql_query($query3) or die("<div align='center' class='legendamenor'>Erro, tente novamente</a>");
// FIM DO UPDATE
?>

mas esta contando apenas 1 acesso, quando atualizo a página permanece a contagem.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...