+1

Como Criar um Sistema de News

criado por Paulo Vinícius Vitto Ruthes em 30/12/2000 7:02pm
<p><span class=\"negrito\">Criando a Tabela Principal no MySQL</span></p>
<p>No prompt do cliente de linha de comando do MySQL, selecione sua Database e escreva:</p>
<p><span class=\"mysql\">
mysql> CREATE TABLE news (<br>
> data CHAR(100) PRIMARY KEY,<br>
> topico CHAR(100),<br>
> msg CHAR(200),<br>
> sender CHAR(20)<br>
>);<br>
</span></p>
<p>
Isso criar&aacute; uma tabela para as news, mas com um limite de 200 caracteres para a novidades, o
que seria at&eacute; melhor por quest&atilde;o de espa&ccedil;o.<br>
S&oacute; para quest&atilde;o de contar na tabela digite:
</p>
<p><span class=\"mysql\">
mysql> INSERT INTO news<br>
> (data, topico, msg, sender)<br>
> VALUES (\"dd/mm/aaaa - hh:mm:ss\", \"primeira novidade\",<br>
> \"primeira novidade... legal..\", \"eu\");<br>
</span></p>

<p><span class=\"negrito\">Criando o Script PHP que adicionar&aacute; os dados na tabela</span></p>
<p>
Esse arquivo n&atilde;o precisa ser necessariamente um PHP, a n&atilde;o ser que voc&ecirc; queira \"economizar\"
arquivos, o que faremos neste caso. Crie um arquivo chamado inserir.php e dentro coloque:
</p>
<p>C&oacute;digo fonte do script inserir.php :
<pre>
&lt;?php
if ($msg != \"\") {
$user = \"\"; // Usu&aacute;rio do MySQL
$pass = \"\"; // Senha para usu&aacute;rio do MySQL
$host = \"\"; // Host do servidor
$db = \"\"; // A DB utilizada nesse caso

// Somente para deixar a data e hora de uma maneira padronizada
$array = getdate();

$segundos = $array[\"seconds\"];
$minutos = $array[\"minutes\"];
$horas = $array[\"hours\"];
$dia = $array[\"mday\"];
$mes = $array[\"mon\"];
$ano = $array[\"year\"];

$nomes_mes = array(\"NADA\",
\"Janeiro\",
\"Fevereiro\",
\"Mar&ccedil;o\",
\"Abril\",
\"Maio\",
\"Junho\",
\"Julho\",
\"Agosto\",
\"Setembro\",
\"Outubro\",
\"Novembro\",
\"Dezembro\");

if ($horas &lt; 10) {
$horas = \"0$horas\";
}

if ($minutos &lt; 10) {
$minutos = \"0$minutos\";
}

if ($segundos &lt; 10) {
$segundos = \"0$segundos\";
}

$data_parcial = \"$dia/$nomes_mes[$mes]/$ano\";
$hora_parcial = \"$horas:$minutos:$segundos\";

$data = \"$data_parcial ($hora_parcial)\";

$conexao = @mysql_connect($host,$user,$pass)
or die(\"&eacute;, tipo.. n&atilde;o deu certo...\");
$query = \"INSERT INTO news VALUES (\'$data\',\'$topico\',\'$msg\',\'$sender\')\";
mysql_select_db($db,$host);
mysql_query($query,$conexao);

echo \"DADOS INSERIDOS!\";
echo \"&lt;br&gt;\";
echo $data_parcial;
echo \"&lt;br&gt;\";
echo $hora_parcial;
echo \"&lt;br&gt;\";
}

else {

?&gt;
&lt;script language=\"JavaScript\"&gt;
&lt;!--
// Script by Paulo Vitto Ruthes

function scripteia() {
document.inserir.car.value = (document.inserir.msg.value.length + 1) - 1;
}
//--&gt;
&lt;/script&gt;

&lt;form name=\"inserir\" action=\"&lt;? echo $PHP_SELF; ?&gt;\" method=\"post\"&gt;
Nick: &lt;input type=\"text\" name=\"sender\"&gt;&lt;br&gt;
Topico: &lt;input type=\"text\" name=\"topico\"&gt;&lt;br&gt;
MSG: &lt;textarea onkeyup=\"scripteia();\" name=\"msg\" cols=50 rows=8 wrap=no&gt;&lt;/textarea&gt;
&lt;br&gt;&lt;input type=\"text\" value=\"0\" readonly name=\"car\"&gt;
&lt;input type=\"submit\" value=\"submit\"&gt;
&lt;/form&gt;
&lt;?php
}
?&gt;
</pre>
</p>
<p>
Como pode ser visto, o formul&aacute;rio de envio n&atilde;o est&aacute; bem bonitinho, mas apenas serve como um
exemplo, junto segue um script em JavaScript para escrever o n&uacute;mero de caracteres digitados
para avisar o limite, mas como JS n&atilde;o &eacute; bem o meu forte ele s&oacute; funciona no M$ IE.
</p>

Comentários:

Mostrando 1 - 10 de 13 comentários
Fabyo,

Levando em conta que escrevi esse tutorial em 2000/2001 e tinha miseráveis 15 anos na epóca e mal-e-mal sabia programar eu consigo um tutorial um tanto quanto interessante. Agora se você faz questão de "não poder ficar calado" acho que seria interessante que você reescrevesse o tutorial. Pode ter certeza que todos gostaríamos disso, principalmente eu que não tenho uma grande vontade nisso no momento =)
02/12/2006 12:26pm (~18 anos atrás)

o ederson fez uma maneira legal pros 3 pontinhos mais eu creio que desse jeito é mais facil...

if(strlen($msg) > 40){
print substr($msg, 0 ,40)."...";
}
else {
print $msn;
}

no print substr no caso pega o primeiro caracter "0" até o "40" e depois coloca os ... isso se o numero de caracter for maior que 40

:)
13/10/2006 11:32pm (~18 anos atrás)

me aparece essa mensagem:


Notice: Undefined variable: msg in e:\easyphp1-8\www\php-experiencia\inserir.php on line 11


a linha 11 é:

if ($msg != "" ) {



Algem me diz pq me da esse erro ai ?
20/09/2006 8:10am (~18 anos atrás)

Pessoal me desculpe sei que esse tutorial ja tem um tempo, mas como ele fica aqui de exemplo para outras pessoas aprenderem, nao posso ficar calado, o sistema esta muito mal feito, pessimo mesmo desculpe se estou sendo franco ou indelicado mas postar um sistema desse para deixar de exemplo é nao se preoculpar com outras pessoas, onde ja se viu usar data VARCHAR(100) ?, nao sabe nem modelar um banco de dados, data é DATE use o campo certo senao fica fazendo essas gambiarras para poder manipular datas, cada campo do mysql tem uma funcionalidade, temos DATE, DECIMAL, ENUM, SET, VARCHAR, CHAR, etc..., o pessoal que só sabe usar o VARCHJAR pra tudo acaba fazem um sistema horrivel e nao aproveita todas funcionalidades do mysql
02/09/2006 7:53am (~18 anos atrás)

juliano disse:
oi tenho um sistema de noticias com o index listando as noticias por data e titulo. Como posso criar um link no titulo listado
para exibir a msg da noticia?
24/08/2005 4:01pm (~19 anos atrás)

Alex Sandro disse:
Ae alguem conseguiu implementar esse fonte ae no PHP.
se conseguiu pstem postem ae vlws
05/04/2005 5:01pm (~19 anos atrás)

Muito bom o artigo
17/03/2005 7:56am (~19 anos atrás)

Muito bom... pra quem esta iniciando os trabalhos com PHP, esses artigos simples e de fácil entendimento são muito úteis, acredito que a idéia de se trabalhar com programas de código fonte aberto é exatamente essa de poder ajudar-se, espero eu logo estar podendo também contribuir com material para esse site!!!
Valeu!!!
09/03/2005 6:17pm (~20 anos atrás)

Allan disse:
Gostei muito desse artigo
03/12/2004 5:22pm (~20 anos atrás)

Willian Silva disse:
Essa matéria é horrível, enquanto não publicarem meu artigo, eu vou criticar todos os artigos destes merdas.
22/11/2004 4:47pm (~20 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)