FVIEIRAS 2 Denunciar post Postado Março 2, 2007 Amigos,Após muita pesquisa e ajuda de todos aqui, consegui através do modelo na pasta laboratório, fazer a administração das notícias!!Agora vem o próximo passo...Como faço para visualizar as 5 primeiras notícias na minha página principal? Alguém tem um código mais ou menos pronto?Meu banco de dados é isso:-- -- Estrutura da tabela `fotos`-- CREATE TABLE `fotos` ( `id` tinyint(8) NOT NULL auto_increment, `id_noticia` tinyint(8) NOT NULL default '0', `foto` varchar(30) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM;-- ---------------------------------------------------------- -- Estrutura da tabela `noticia`-- CREATE TABLE `noticia` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `titulo` varchar(55) NOT NULL default '', `chamada` text NOT NULL, `texto` text NOT NULL, `data` datetime NOT NULL default '0000-00-00 00:00:00', `ordem` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`)) TYPE=MyISAM; Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Março 2, 2007 oh tenta fazer assimSELECT * FROM noticias ORDER BY id DESC LIMIT 5... acho é isso.. tentai .. <_ Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 2, 2007 se nao funcionar tenta esse$sql = "SELECT * FROM noticias WHERE ver = '1' ORDER BY id DESC LIMIT 5"; Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 2, 2007 Beleza,Imaginei que teria um select!Porém, sou realmente iniciante....Tenho uma HTML principal..... Onde que eu aplico esse select? Preciso criar campos? Tabelas na página? Outro Arquivo PHP? Ou seja.... Onde aplico isso? Lembrando que existe a tabela de fotos também.... Teria algum exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
pensar 1 Denunciar post Postado Março 2, 2007 Cria uma index.php e faz um include dentro dessa pagina Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 2, 2007 Um Index.PHP?????????Mas e minha página inicial, index.html....... não vou utiliza-la????? E como faço esse include??????? Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 2, 2007 coloca depois de da conecção... Compartilhar este post Link para o post Compartilhar em outros sites
pensar 1 Denunciar post Postado Março 2, 2007 FAz assim essa pagina html salve ela como php ..Depois tem duas maneiras de voce mostrar essa noticia;A primeira voce pode inserir o codigo php dentro dessa index.php com os comandos de acesso ao banco e o SELECT A outra maneira é você criar uma pagina tipo noticias.php e nela inserir os codigos php para visualizaçao das noticias e depois na index.phpvocê faz isso aqui<? include ("noticias.php"); ?>Falow Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 2, 2007 o include ta ai include "arquivo.php";nao se esqueça a pagina onde você esta colocando o script tem que ser em PHPokflw... Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 5, 2007 Você não tem um exemplo dessa página notícia.php?????????Não tenho nem idéia de como colocar esse script para visualizar as imagens com as fotos!!!!!O que estou usando para adicionar as notícias é o exemplo que tem no laboratório... Preciso somente visualizar essas notícias porém não estou conseguindo....Preciso de um exemplo para poder visualizar melhor....Tô desesperado, minha cliente já me procurou hoje e preciso mostrar pra ela amanhã... Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 5, 2007 Eu uso esse script ai você tem que alterar para o seu script se nao souber manda um POST beleza... <?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta consulta em SQL * seleciona as ultimas 5 noticias ordenadas * decrescente por data * obs.: seleciona somente as noticias que foram * liberadas pelo webmaster */$sql = "SELECT * FROM noticias WHERE ver = '1' ORDER BY id DESC LIMIT 5";/* * executa e trata a consulta */$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta");if (@mysql_num_rows($resultado) == 0) die('Nenhum registro encontrado');/* * fazendo um loop para mostrar os resultados */while ($linha=mysql_fetch_array($resultado)){ $novadata = substr($linha['data'],8,2) . "/" . substr($linha['data'],5,2) . "/" . substr($linha['data'],0,4); $novahora = substr($linha['hora'],0,2) . "h" . substr($linha['hora'],3,2) . "min"; echo "<b>Código da Notícia</b>: {$linha['id']} <br />"; echo "Autor: {$linha['nome']} {$linha['sobrenome']} <br />"; echo "E-mail: {$linha['email']} <br />"; echo "Cidade: {$linha['cidade']} <br />"; echo "Estado: {$linha['estado']} <br />"; echo "Data: $novadata - Horário: $novahora <br />"; echo "Título: {$linha['titulo']} <br />"; echo "Resumo: <em> {$linha['resumo']} </em> <br />"; echo "Notícia: {$linha['texto']} <br />"; echo "Validado pelo Webmaster: "; if ($linha['ver'] == 1) echo "Sim"; else echo "Não"; echo "<hr />";}?> Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 5, 2007 Valeu peça força que está dando amigo!Seguinte, não sei como alterar para o meu script.... e isso que me mandou eu salvaria como?Seguinte, minhas tabelas são essas:CREATE TABLE `fotos` (`id` tinyint(8) NOT NULL auto_increment,`id_noticia` tinyint(8) NOT NULL default '0',`foto` varchar(30) NOT NULL default '',PRIMARY KEY (`id`)) TYPE=MyISAM;-- ---------------------------------------------------------- -- Estrutura da tabela `noticia`-- CREATE TABLE `noticia` (`id` mediumint(8) unsigned NOT NULL auto_increment,`titulo` varchar(55) NOT NULL default '',`chamada` text NOT NULL,`texto` text NOT NULL,`data` datetime NOT NULL default '0000-00-00 00:00:00',`ordem` tinyint(1) NOT NULL default '0',PRIMARY KEY (`id`)) TYPE=MyISAM;Como faço exatamente para visualiza-las?ObrigadoComo complemento, é o seguinte:O que preciso, é na página inicial aparecer a notícia como se fosse do UOL.Notícia principal primeiro, com a foto dela e o título e resumo da notícia no lado esquerdo...Abaixo, as outras 4 notícias somente com a hora e o título! Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 5, 2007 pra que serve essa linha ? que tipo de dados ela guarda e qual a função desses caracters salvos?`ordem` tinyint(1) NOT NULL default '0',é algo para ordernar a tabela??tipo 1º, 2º 3º ..._______________________post o script completo por favor dependendo de como for eu tenho um aki e post ele par você Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 5, 2007 Seguinte, o sistema de inclusão de notícias eu peguei aqui do forum mesmo, no link: http://hcar.prophp.org/uploadImage.zip Caso queira, na área de Laboratório de Scripts, no tópico: Sistema de administração de notícias, Com upload de múltiplas imagens Link: http://forum.imasters.com.br/index.php?sho...&hl=notícia Lá tem exatamente todo o script que estou usando.... Vê se consegue entender pra que serve aquele campo ordem, eu creio que seja para definir a ordem de visualização de imagens, pois pelo que vi pode-se adicionar até 5 imagens por notícia! Mas também não consegui entender qual campo liga uma tabela com a outra... Sei lá... Preciso disso urgente.... tô desesperado!!!!! Preciso de algo pronto de preferência pois não tenho nem mais tempo... Preciso mostrar pra ela amanhã e só tenho hoje pra fazer alguma forma pra visualizar as notícias na página principal!!!!! HELPPPPPPPPPPPP Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 5, 2007 ok! pera um acadim! vou te mandar um link com um sistema de noticias que eu ja usei !! Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 5, 2007 Da uma olhada nesse tutorial! se nao der certo manda um novo post 1.º Passo - Criando e preparando o Banco de Dados (MySQL)Comece criando um banco de dados dedicado.create database noticias;Abra o banco de dados criado.use noticias;Agora é criar uma tabela para cadastro das suas notícias. Você um exemplo a seguir.CREATE TABLE noticias( id INT NOT NULL auto_increment, nome VARCHAR(40) NOT NULL , sobrenome VARCHAR(40) NOT NULL , cidade VARCHAR(50) NOT NULL , estado CHAR(2) NOT NULL , email VARCHAR(80) , data DATE NOT NULL, hora TIME NOT NULL , titulo VARCHAR(200) NOT NULL , resumo VARCHAR(255) , texto TEXT NOT NULL , ver TINYINT(1) DEFAULT '0' , PRIMARY KEY (id));Comentários sobre os campos acima:· id: Campo de identificação -> Int, Chave-primária, Auto-incrementável · nome: Primeiro nome do autor-> String, Não-vazio · sobrenome: Sobrenome do autor -> String, Não-vazio · cidade: Cidade do autor -> String, Não Vazio · estado: Estado -> String, Não Vazio · email: Email do autor -> String, Não Vazio · data: Data do cadastro -> Date, Não Vazio · hora: Hora do cadastro -> Time, Não Vazio · título: Título -> String, Não Vazio · resumo: Resumo (chamada) da notícia -> String · texto: Corpo da notícia -> Text, Não Vazio · ver: Flag para listar, ou não, a notícia -> Int, Padrão '0' Nos campos data e hora acima, poderia ser utilizado um campo do tipo DATETIME, mas resolvi separar para facilitar no entendimento. Agora com o banco de dados preparado, é hora de criarmos o sistema de cadastro de notícias do seu site. Este será o 2.º passo!2º Passo - Criando o sistema de cadastro de notíciasEste é um passo importante, onde um script criado em PHP irá inserir dados no banco de dados MySQL. Aqui iremos utilizar os conhecimentos passados no tutorial anterior, sobre questões básicas de PHP/MySQL. Primeiramente será criado o arquivo em HTML (formulário) para o cadastro de notícias. Vamos lá:<h1>Sistema de Cadastro de Notícias</h1><form action="inserir.php" method="post"> <label for="nome">Nome: </label> <input name="nome" id="nome" type="text" /> <label for="sobrenome">Sobrenome: </label> <input name="sobrenome" id="sobrenome" type="text" /><br /> <label for="cidade">Cidade: </label> <input name="cidade" id="cidade" type="text" /><br /> <label for="estado">Estado: </label> <input name="estado" id="estado" type="text" /><br /> <label for="email">Email: </label> <input name="email" id="email" type="text" /><br /> <label for="titulo">Título do Texto: </label> <input name="titulo" id="titulo" type="text" /><br /> <label for="resumo">Resumo do Texto:</label> <input name="resumo" id="resumo" type="text" ><br /> <label for="texto">Texto: </label> <textarea name="texto" id="texto" rows="10" cols="30" /> </textarea><br /> <input type="submit" value="Cadastrar"></form>Vamos realizar uma pequena análise neste arquivo. Repare que os dados do formulário serão enviados para o script "inserir.php" que será o responsável pela inserção desta notícia no banco de dados. A data e hora serão inseridas automaticamente. Caso você queira preenchê-los, apenas tire o campo do "hidden" e coloque-os como editável ("text"). Não foi inserido nenhum validador do formulário, portanto de você não preencher algum campo, o banco de dados não irá aceitar a inserção pois os campos são NOT NULL (exceção do campo resumo).Agora é hora de criar o script PHP responsável por isto tudo. Vamos nessa:<?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta query em SQL para insercao */$sql = "INSERT INTO noticias (nome, sobrenome, cidade, estado, email, data,hora, titulo, resumo, texto) VALUES ('".$_POST['nome']."', '".$_POST['sobrenome']."', '".$_POST['cidade']."', '".$_POST['estado']."', '".$_POST['email']."', NOW(), NOW(), '".$_POST['titulo']."','".$_POST['resumo']."','".$_POST['texto']."')";/* * executa a query */$sql = mysql_query($sql)or die ("Houve erro na gravação dos dados.");?><h1>Cadastro efetuado com sucesso!</h1>Você pode aperfeiçoar muito mais o script. Por exemplo, personalizar as mensagens de erro e sucesso, redirecionar para outras páginas, etc.3.º Passo - Recuperando os dados cadastradosIrei mostrar como selecionar, por exemplo, as últimas 15 notícias inseridas no MySQL. Isto é muito útil, para sites que têm seções do tipo "Últimas Notícias". A ordenação é feita pelo campo id, mas podia ser feita também pelo campo data, caso fosse um campo do tipo DATETIME.<?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta consulta em SQL * seleciona as ultimas 15 noticias ordenadas * decrescente por data * obs.: seleciona somente as noticias que foram * liberadas pelo webmaster */$sql = "SELECT * FROM noticias WHERE ver = '1' ORDER BY id DESC LIMIT 15";/* * executa e trata a consulta */$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta");if (@mysql_num_rows($resultado) == 0) die('Nenhum registro encontrado');/* * fazendo um loop para mostrar os resultados */while ($linha=mysql_fetch_array($resultado)){ $novadata = substr($linha['data'],8,2) . "/" . substr($linha['data'],5,2) . "/" . substr($linha['data'],0,4); $novahora = substr($linha['hora'],0,2) . "h" . substr($linha['hora'],3,2) . "min"; echo "<b>Código da Notícia</b>: {$linha['id']} <br />"; echo "Autor: {$linha['nome']} {$linha['sobrenome']} <br />"; echo "E-mail: {$linha['email']} <br />"; echo "Cidade: {$linha['cidade']} <br />"; echo "Estado: {$linha['estado']} <br />"; echo "Data: $novadata - Horário: $novahora <br />"; echo "Título: {$linha['titulo']} <br />"; echo "Resumo: <em> {$linha['resumo']} </em> <br />"; echo "Notícia: {$linha['texto']} <br />"; echo "Validado pelo Webmaster: "; if ($linha['ver'] == 1) echo "Sim"; else echo "Não"; echo "<hr />";}?>As variáveis novadata e novahora foram criadas para tratar a hora e data do formato do SGBD para o formato usual. Você ainda pode personalizar estas notícias, deixando o layout do seu jeito!OBS: para mostrar todas as notícias, apenas retire o "LIMIT 15" da consulta.4.º Passo - Controle de Notícias para WebmasterNeste passo irei explicar como gerenciar os dados desta tabela. Primeiramente, devemos criar um arquivo PHP para mostrar todos os dados na tela, para depois podermos manuseá-los. Faça como o exemplo abaixo:<?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta e executa consulta em SQL */$sql = "SELECT * FROM noticias ORDER BY id DESC";$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta.");?><table><tr><th>ID:</th><th>Nome:</th><th>Sobrenome:</th><th>Cidade:</th><th>UF:</th><th>Email:</th><th>Data:</th><th>Hora:</th><th>Título:</th><th>Disponível?</th><th>Opções</th></tr><?php/* * mostra os dados na tela */while ($linha=mysql_fetch_array($resultado)){ $novadata = substr($linha['data'],8,2) . "/" . substr($linha['data'],5,2) . "/" . substr($linha['data'],0,4); $novahora = substr($linha['hora'],0,2) . "h" . substr($linha['hora'],3,2) . "min"; echo "<tr>"; echo "<td>{$linha['id']}</td>"; echo "<td>{$linha['nome']}</td>"; echo "<td>{$linha['sobrenome']}</td>"; echo "<td>{$linha['cidade']}</td>"; echo "<td>{$linha['estado']}</td>"; echo "<td>{$linha['email']}</td>"; echo "<td>$novadata</td>"; echo "<td>$novahora</td>"; echo "<td>{$linha['titulo']}</td>"; echo "<td>{$linha['ver']}</td>"; echo "<td><a href='alterar.php?id={$linha['id']}'>Alterar</a> / "; echo "<a href='excluir.php?id={$linha['id']}'>Excluir</a></td>"; echo "</tr>";}echo "</table>";?>O próximo passo agora é criar os arquivos alterar.php e excluir.php, responsáveis pela alteração e exclusão dos dados. Veja o código dos 2 arquivos respectivamente:<?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta e executa consulta em SQL */$sql = "SELECT * FROM noticias WHERE id = ".$_GET['id'];$resultado = mysql_query($sql)or die ("Não foi possível realizar a consulta.");$linha=mysql_fetch_array($resultado);?><h1>Alterar Cadastro</h1><form action="alterar_db.php?id=<?php echo $_GET['id'] ?>" method="post"> <label for="nome">Nome: </label> <input name="nome" id="nome" type="text" value="<?php echo $linha['nome'] ?>" /> <label for="sobrenome">Sobrenome: </label> <input name="sobrenome" id="sobrenome" type="text" value="<?php echo $linha['sobrenome'] ?>" /><br /> <label for="cidade">Cidade: </label> <input name="cidade" id="cidade" type="text" value="<?php echo $linha['cidade'] ?>" /><br /> <label for="estado">Estado: </label> <input name="estado" id="estado" type="text" value="<?php echo $linha['estado'] ?>" /><br /> <label for="email">Email: </label> <input name="email" id="email" type="text" value="<?php echo $linha['email'] ?>" /><br /> <label for="titulo">Título do Texto: </label> <input name="titulo" id="titulo" type="text" value="<?php echo $linha['titulo'] ?>" /><br /> <label for="resumo">Resumo do Texto:</label> <input name="resumo" id="resumo" type="text" value="<?php echo $linha['resumo'] ?>" ><br /> <label for="texto">Texto: </label> <textarea name="texto" id="texto" rows="10" cols="30" /> <?php echo $linha['texto'] ?></textarea><br /> <label for="mostra">Mostrar Notícia? </label> <input name="ver" id="ver" type="checkbox" value="1" <?php if ($linha['ver'] == 1) { ?>checked="checked"<?php } ?>/><br /> <input type="submit" value="Alterar" /></form>?><?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta e executa consulta em SQL */$sql = "DELETE FROM noticias WHERE id = ".$_GET['id'];$resultado = mysql_query($sql)or die ("Erro ao remover notícia.");?><h1>A notícia foi excluída com êxito!</h1>Agora basta criarmos o arquivo alterar_db.php que irá receber os dados do arquivo alterar.php e alterará seus respectivos dados no SGBD:<?php/* * faz a conexao ao banco * e seleciona a base de dados */$conexao = mysql_connect("localhost", "root", "root")or die ("Erro na conexão ao banco de dados.");$db = mysql_select_db("noticias")or die ("Erro ao selecionar a base de dados.");/* * monta e executa consulta em SQL */$ver = ($_POST['ver']) ? $_POST['ver'] : '0';$sql = "UPDATE noticias SET nome='".$_POST['nome']."', sobrenome='".$_POST['sobrenome']."', cidade='".$cidade."', estado='".$_POST['estado']."', email='".$_POST['email']."', data=NOW(), hora=NOW(), titulo='".$_POST['titulo']."', resumo='".$_POST['resumo']."', texto='".$_POST['texto']."', ver=".$ver." "."WHERE id = ".$_GET['id'];$resultado = mysql_query($sql)or die ("Erro ao alterar notícia.");?><h1>Notícia alterada com sucesso!</h1> Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 5, 2007 Ok Amigo,Posso tentar esse modelo! Porém, ele não tem como inserir e visualizar imagens!!!! Preciso das imagens!!!!!Não tem como me mostrar como consigo visualizar uma página principal com o modelo que passei????? Pois ele já me atende e é exatamente o que preciso, somente preciso saber como visualizo as notícias do banco de dados, talvez acho que eu possa até utilizar a mesma forma do seu modelo... mas não tenho idéia como!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
nb-master 0 Denunciar post Postado Março 5, 2007 ve se é isso que você quer http://www.criandoweb.info/catalogo2/exibe.php Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 5, 2007 É mais ou menos isso....1 Foto Principal Do lado direito o Título e abaixo o resumo da notíciaDepois mais e baixo as outras 4 últimas notícias! Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Março 6, 2007 Galera,Alguém me ajuda, preciso disso até o fim do dia.... Compartilhar este post Link para o post Compartilhar em outros sites