Advertisement
unkn

Aula 5 - Noticias

Feb 19th, 2012
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.18 KB | None | 0 0
  1.  
  2.         /**************************************
  3.         ********    05.3 - Noticias  **********
  4.         **************************************/
  5.  
  6.     Bom, a contagem está meia louca, porque fiz tudo louco os vídeos rs
  7.     Enfim, vamos fazer a parte de noticias agora .-.
  8.  
  9.     Nesse vídeo, vou mostrar como fazer o sistema de noticias ....
  10.     Primeiro vamos rodar a query abaixo, porque se eu for fazer a tabela
  11.     vai demorar o vídeo...
  12.     Mas a query está comentada, então dá pra vocês sacarem um pouco
  13.     do que cada coluna faz....
  14.  
  15.     USE [gc]
  16.     GO
  17.     /****** Object:  Table [dbo].[GCS_Noticias]    Script Date: 02/19/2012 13:52:02 ******/
  18.     SET ANSI_NULLS ON
  19.     GO
  20.     SET QUOTED_IDENTIFIER ON
  21.     GO
  22.     CREATE TABLE [dbo].[GCS_Noticias](
  23.         [id] [int] IDENTITY(1,1) NOT NULL, /*** ID da Noticia ***/
  24.         [titulo] [nchar](80) COLLATE Latin1_General_CI_AI NULL, /*** Titulo da Noticia ***/
  25.         [noticia] [nchar](1024) COLLATE Latin1_General_CI_AI NULL, /*** Noticia ***/
  26.         [tipo] [nchar](15) COLLATE Latin1_General_CI_AI NULL,  /** Tipo da Noticia ***/
  27.         [data] [datetime] NULL, /** Data da noticia **/
  28.      CONSTRAINT [PK_GCS_Noticias] PRIMARY KEY CLUSTERED
  29.     (
  30.         [id] ASC
  31.     )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
  32.     ) ON [PRIMARY]
  33.  
  34.  
  35.     Depois de ter rodado a query, vamos ao código... mas antes vou organizar
  36.     o template, pra ficar mais bonitin :)
  37.  
  38.     1º vou mudar o 'Top 5' para o 'Sidebar';
  39.    
  40.         Vou criar uma pasta dentro de 'modulos' com o nome de 'includes'.
  41.         Crio um arquivo, 'top5.php', e recorto o código do top 5, que está
  42.         no arquivo 'inicio.php', e colo dentro dele;
  43.         Só basta organizar e colocar as tags <li></li>
  44.         Para ficar igual com o 'menu'. Feito isso, só salvar, e abrir o index.php
  45.  
  46.         Na parte do sidebar,  você coloca o código abaixo:
  47.         <?php include('modulos/includes/top5.php'); ?>
  48.  
  49.         Só atualizar e testar :)
  50.  
  51.     Agora voltando a parte de noticias, vamos criar uma tabela, para mostrar as noticias;
  52.  
  53.     Primeiro, vou criar uma tabela 2x3, onde vai conter: [Tipo] - [Titulo]  / [Data]
  54.  
  55.     Depois, vamos na 2ª tag '<tr>' e criar o nosso laço de repetição que vai pegar as noticias;
  56.  
  57.     O código da tabela é esse abaixo:
  58.  
  59.     <?php
  60.         $sql = mssql_query("SELECT TOP 5 * FROM GCS_Noticias ORDER BY id DESC");
  61.         $num = mssql_num_rows($sql);
  62.         if(!$num > 0)
  63.         {
  64.             echo "Nenhuma noticia cadastrada!\n";
  65.         }else{
  66.         ?>
  67.         <table width="100%" border="0" align="center">
  68.             <tr>
  69.                 <td>[Tipo]</td>
  70.                 <td>[Titulo]</td>
  71.                 <td>[Data]</td>
  72.             </tr>
  73.         <?php
  74.         while($noticia = mssql_fetch_array($sql)){
  75.         $data_original = strtotime($noticia["data"]); // Converte para timestamp
  76.         $data = date("d/m/Y", $data_original); // Converte o timestamp para dia/mes/ano
  77.             echo "<tr>\n";
  78.             echo "\t<td>".$noticia["tipo"]."</td>\n";
  79.             echo "\t<td><a href='?p=noticia&id=".$noticia["id"]."'>";
  80.             echo $noticia["titulo"];
  81.             echo "</a></td>\n";
  82.             echo "\t<td>".$data."</td>\n";
  83.             echo "</tr>\n\n";
  84.         }
  85.         echo "</table>";
  86.         }
  87.         ?>
  88.  
  89.     Depois de ter feito isso, vamos inserir uma noticia manualmente na tabela.
  90.     Enquanto não entramos na parte do painel, vamos fazendo assim :D
  91.  
  92.     Agora vamos criar uma arquivo na pasta 'paginas' com o nome de 'noticia.php';
  93.     Copio o layout do 'inicio.php' e adiciono o código abaixo:
  94.  
  95.     <?php
  96.     $id = $_GET['id'];
  97.     if(!is_numeric($id))
  98.     {
  99.         echo "<script>alert('Noticia invalida!');history.back(-1);</script>";
  100.     }else{
  101.         $sql = mssql_query("SELECT TOP 1 * FROM GCS_Noticias WHERE id='$id'");
  102.         $num = mssql_num_rows($sql);
  103.    
  104.         if($num == 0)
  105.         {
  106.             echo "<script>alert('Essa noticia nao existe!');history.back(-1);</script>";
  107.         }else{
  108.             while($noticia = mssql_fetch_array($sql))
  109.             {
  110.             $data_original = strtotime($noticia["data"]); // Converte para timestamp
  111.             $data = date("d/m/Y", $data_original); // Converte o timestamp para dia/mes/ano
  112.         ?>
  113.         <div class="post">
  114.         <h2 class="title"><a href="#"><?=$noticia["titulo"];?></a></h2>
  115.         <p class="meta">Tipo: <?=$noticia["tipo"];?> - Data: <?=$data;?></p>
  116.         <div class="entry">
  117.             <p><?=$noticia["noticia"];?></p>
  118.         </div>
  119.         </div>
  120.         <?php
  121.                 };
  122.             };
  123.         };
  124.         ?>
  125.  
  126.     Vamos testar, ver se já está funcionando...
  127.  
  128.         Pronto! *-*
  129.  
  130.             até a próxima vídeo aula :D
  131.  
  132.                 unkn © 2012 - GDWebStudio.com
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement