Desta vez fiz um script de colunas...
É muitos pediram.. mas ae está o básico..
Se vocês quiserem implementarem está ae o "código base"...
hehehe..
Eu fiz somente a parte de exibir o conteudo que está
armazenado na tabela, ou seja, falta a parte da administração.
Que farei logo..
Tabelas:
CREATE TABLE /*!32300 IF NOT EXISTS*/ categorias (
id bigint(20) NOT NULL auto_increment,
nome varchar(30) NOT NULL DEFAULT '' ,
PRIMARY KEY (id)
);
CREATE TABLE /*!32300 IF NOT EXISTS*/ conteudo (
id bigint(20) NOT NULL auto_increment,
id_cat bigint(20) NOT NULL DEFAULT '0' ,
titulo varchar(120) NOT NULL DEFAULT '' ,
texto longtext NOT NULL DEFAULT '' ,
data datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ,
postador varchar(120) ,
PRIMARY KEY (id)
);
Único arquivo que faz o papel de:
• Exibe todas as categorias cadastradas
• Exibe as matérias das categorias
• Exibe o conteúdo de uma matéria
<?
/* Desenvolvido por: Felipe Nascimento
* Para todos que querem aprender...
*/
//Conectando ao mysql
mysql_connect("localhost", "root", "") or die (mysql_error());
//Selecionando o Banco de dados a ser trabalhado
mysql_select_db("Colunas");
class Colunas
{ function ListarCat()
{ //Pegando ID's e nome's na tabela categorias em ordem alfabética
$ListarCat = mysql_query("SELECT id, nome FROM categorias ORDER BY nome ASC")
or die (mysql_error());
//se for encontrado conteudo na tabela referente a consulta...
if (mysql_num_rows($ListarCat)>0):
echo '<h3>Colunas:</h3>';
//listando o nomes das colunas com um link para visualizar
//as matérias referentes a elas
while ($RCat=mysql_fetch_array($ListarCat)):
echo '<a href="?coluna='.$RCat['id'].'">'.$RCat['nome'].'</a><br />';
endwhile;
//se não for encontrado informações na consulta
else :
echo 'Não há colunas!';
endif;
}
function Coluna($coluna)
{ //Pegando todas as informações na tabela conteudo aonde o id_cat é igual o da url
$CCat = mysql_query("SELECT * FROM conteudo WHERE id_cat='$coluna' ORDER BY data DESC")
or die (mysql_error());
//se for encontrado informações na consulta...
if (mysql_num_rows($CCat)>0):
//pegando o nome da coluna através do id que está na url
$Cn = mysql_query("SELECT nome FROM categorias WHERE id='$coluna'")
or die (mysql_error());
$RCn = mysql_fetch_array($Cn);
echo '<h3>'.$RCn['nome'].'</h3>';
//listando as matérias referente ao id da coluna encontrados na url
//?coluna=ID
while ($RCCat=mysql_fetch_array($CCat)):
echo '<a href="?coluna='.$RCCat['id_cat'].'&ver='.$RCCat['id'].'">'.$RCCat['titulo'].'</a><br />';
endwhile;
//se não houver informaçõs na tabela com o id da url...
else :
echo 'Não há matérias nesta coluna!';
endif;
}
function Visualizar($id)
{ //Pegando na tabela todas a informações da tabela e passando data e hora para o formato brasileiro
//aonde o id da materia é igual o da url
//?coluna=ID DA COLUNA&ver=ID DA MATERIA
$Conteudo = mysql_query("SELECT *, date_format(data, '%d-%m-%y as %H:%i:%s') as date FROM conteudo WHERE id='$id'")
or die (mysql_error());
//se encontrar informaçoes na consulta...
if (mysql_num_rows($Conteudo)):
//exibindo as informaçoes obtidas atraves do ID
while ($Rcont=mysql_fetch_array($Conteudo)):
echo '<a href="?coluna='.$Rcont['id_cat'].'">« voltar</a><br />
Por: '.$Rcont['postador'].' - '.$Rcont['date'].'<br />
Título: '.$Rcont['titulo'].'<hr>
'.nl2br($Rcont['texto']);
endwhile;
//se não encontrar informações através do ID da matéria...
else :
echo 'Matéria não encontrada!';
endif;
}
}
//Ativando a classe
$Coluna = new Colunas;
//informações da urls
$coluna = @$_GET['coluna'];
$ver = @$_GET['ver'];
//se não houver valor para $ver e $coluna
//exemplos:
// http://www.site.com.br/?coluna=&ver=
// http://www.site.com.br/
if ( (trim($ver)=="") && (trim($coluna=="")) ):
$Coluna->ListarCat();
//se houver valor somente para a variavel coluna
//exemplo:
// http://www.site.com.br/?coluna=ID da coluna
elseif ( (trim($ver)=="") && (trim($coluna!="")) ):
$Coluna->Coluna($coluna);
//Se não for nenhum dos casos
// exemplo:
// http://www.site.com.br/?coluna=ID da coluna&ver=ID da materia
else :
$Coluna->Visualizar($ver);
endif;
?>