Jump to content


Photo

Como Faço Para Melhorar Esse Script?


  • Faça o login para participar
2 replies to this topic

#1 ABarros

ABarros

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Maranhãozinho, ma
  • Interesses:Aprendizados, fazer amizade aqui no forum e claramente obter conhecimentos.

Posted 21/11/2011, 12:47

Estou trabalhando em um projeto aqui da comunidade, é tudo caseiro, na força da vontade e estamos criando um pequeno jornal web, que irá relatar o que acontece na comunidade. Já criei todo o layout e quase toda a programação do site, como painel de usuários, cadastro de notícias e claro a exibição das mesmas.
O que tá pegando é pra colocar as ultimas notícias na index (home) do site. Tenho um script aqui pronto, ele funciona perfeitamente, mas com limitações em apresentar as matérias, tipo ele apenas lista em ordem decrescente as ultimas notícias do site. Eu gostaria de uma ajuda para melhorar esse script php, para que ele possa também apresentar em miniaturas com links as imagens das ultimas notícias, como se fosse um box ou tabela com tres colunas e cinco linhas, sendo em cada uma das parcelas seja colocada automaticamente as noticias assim que elas seja postadas no site.
Ex:Posted Image.

Veja meu código:
<?php
$conexao = mysql_connect("localhost","root",""); //Faz conexão com o mysql
$db = mysql_select_db("editor"); //Seleciona o banco de dados 
$sql = "SELECT * FROM noticias WHERE 1  ORDER BY id DESC LIMIT 0, 15"; //Faz o select de todos os registros e exibe os 15 mais recentes
$query = mysql_query($sql) or die(mysql_error()); //Verifica se o comando foi executado
// mostra a tabela
echo"<table border='0' width='98%'> 
	    <tr><td></td>
	    </tr>";
while ($linha=mysql_fetch_array($query)) {
$id = $linha["id"];
$titulo = $linha["titulo"];
$descricao = $linha["descricao"];
$texto = $linha["texto"];
echo"<tr><td><a href='noticia-2.php?id=$id'border='0'><h3>$titulo</a></td>
<tr><td>$descricao</td>
     </tr>";
}

echo "</table>";
?>

Quem entender do assunto, por favor, pesso sua ajuda.

#2 Vanfer

Vanfer

    Turista

  • Usuários
  • 41 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 23/11/2011, 10:09

Creio que seu problema não seja o uso do PHP, mas a forma como vc está fazendo na sua html...

ao invés de utilizar tabela, experimente usar CSS, folha de estilo...

use assim:
<style type="text/css">
.caixas{flaot:left; width:300px; padding:6px; background:#fff; min-height: 450px; border:1px solid #eee; border-top:2px #666 solid; margin:2px 4px;}
</style>

$conteudo='';
$registros='';
$sql="SELECT * FROM TABELA";

$seu_sql = mysql_query($sql);

if(mysql_num_rows($seu_sql)==0)
   $conteudo='Sem registros';

while($rs=mysql_fetch_array($seu_sql)){

$registros .= $rs[0].'<br>';
$registros .= $rs[1].'<br>';
$registros .= $rs[2].'<br>';
$registros .= $rs[3].'<br>';

$conteudo .= "<div class=\"caixas\">$registros</div>";

}

echo $conteudo;


------------------------

Estou trabalhando em um projeto aqui da comunidade, é tudo caseiro, na força da vontade e estamos criando um pequeno jornal web, que irá relatar o que acontece na comunidade. Já criei todo o layout e quase toda a programação do site, como painel de usuários, cadastro de notícias e claro a exibição das mesmas.
O que tá pegando é pra colocar as ultimas notícias na index (home) do site. Tenho um script aqui pronto, ele funciona perfeitamente, mas com limitações em apresentar as matérias, tipo ele apenas lista em ordem decrescente as ultimas notícias do site. Eu gostaria de uma ajuda para melhorar esse script php, para que ele possa também apresentar em miniaturas com links as imagens das ultimas notícias, como se fosse um box ou tabela com tres colunas e cinco linhas, sendo em cada uma das parcelas seja colocada automaticamente as noticias assim que elas seja postadas no site.
Ex:Posted Image.

Veja meu código:

<?php
$conexao = mysql_connect("localhost","root",""); //Faz conexão com o mysql
$db = mysql_select_db("editor"); //Seleciona o banco de dados 
$sql = "SELECT * FROM noticias WHERE 1  ORDER BY id DESC LIMIT 0, 15"; //Faz o select de todos os registros e exibe os 15 mais recentes
$query = mysql_query($sql) or die(mysql_error()); //Verifica se o comando foi executado
// mostra a tabela
echo"<table border='0' width='98%'> 
	    <tr><td></td>
	    </tr>";
while ($linha=mysql_fetch_array($query)) {
$id = $linha["id"];
$titulo = $linha["titulo"];
$descricao = $linha["descricao"];
$texto = $linha["texto"];
echo"<tr><td><a href='noticia-2.php?id=$id'border='0'><h3>$titulo</a></td>
<tr><td>$descricao</td>
     </tr>";
}

echo "</table>";
?>

Quem entender do assunto, por favor, pesso sua ajuda.


Edição feita por: Vanfer, 23/11/2011, 10:15.


#3 ABarros

ABarros

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:Maranhãozinho, ma
  • Interesses:Aprendizados, fazer amizade aqui no forum e claramente obter conhecimentos.

Posted 24/11/2011, 09:10

Creio que seu problema não seja o uso do PHP, mas a forma como vc está fazendo na sua html...

ao invés de utilizar tabela, experimente usar CSS, folha de estilo...

use assim:

<style type="text/css">
.caixas{flaot:left; width:300px; padding:6px; background:#fff; min-height: 450px; border:1px solid #eee; border-top:2px #666 solid; margin:2px 4px;}
</style>

$conteudo='';
$registros='';
$sql="SELECT * FROM TABELA";

$seu_sql = mysql_query($sql);

if(mysql_num_rows($seu_sql)==0)
   $conteudo='Sem registros';

while($rs=mysql_fetch_array($seu_sql)){

$registros .= $rs[0].'<br>';
$registros .= $rs[1].'<br>';
$registros .= $rs[2].'<br>';
$registros .= $rs[3].'<br>';

$conteudo .= "<div class=\"caixas\">$registros</div>";

}

echo $conteudo;


------------------------


Estou trabalhando em um projeto aqui da comunidade, é tudo caseiro, na força da vontade e estamos criando um pequeno jornal web, que irá relatar o que acontece na comunidade. Já criei todo o layout e quase toda a programação do site, como painel de usuários, cadastro de notícias e claro a exibição das mesmas.
O que tá pegando é pra colocar as ultimas notícias na index (home) do site. Tenho um script aqui pronto, ele funciona perfeitamente, mas com limitações em apresentar as matérias, tipo ele apenas lista em ordem decrescente as ultimas notícias do site. Eu gostaria de uma ajuda para melhorar esse script php, para que ele possa também apresentar em miniaturas com links as imagens das ultimas notícias, como se fosse um box ou tabela com tres colunas e cinco linhas, sendo em cada uma das parcelas seja colocada automaticamente as noticias assim que elas seja postadas no site.
Ex:Posted Image.

Veja meu código:

<?php
$conexao = mysql_connect("localhost","root",""); //Faz conexão com o mysql
$db = mysql_select_db("editor"); //Seleciona o banco de dados 
$sql = "SELECT * FROM noticias WHERE 1  ORDER BY id DESC LIMIT 0, 15"; //Faz o select de todos os registros e exibe os 15 mais recentes
$query = mysql_query($sql) or die(mysql_error()); //Verifica se o comando foi executado
// mostra a tabela
echo"<table border='0' width='98%'> 
	    <tr><td></td>
	    </tr>";
while ($linha=mysql_fetch_array($query)) {
$id = $linha["id"];
$titulo = $linha["titulo"];
$descricao = $linha["descricao"];
$texto = $linha["texto"];
echo"<tr><td><a href='noticia-2.php?id=$id'border='0'><h3>$titulo</a></td>
<tr><td>$descricao</td>
     </tr>";
}

echo "</table>";
?>

Quem entender do assunto, por favor, pesso sua ajuda.


Vanfer sua idéia é uma boa alternativa, mas ainda falta algo, confesso que sou completamente leigo em questão de PHP, mas é pesquisando e perguntando que se encontra as respostas necessárias.
Segundo o seu código ele faz uma busca no DB, e o imprime na index todo o resultado buscado. Aí é que deixou "?", gostaria de saber como faço para que ele faça a busca somente de o título e descrição no DB o imprima na index.
com esse loop
while ($linha=mysql_fetch_array($query)) {
$id = $linha["id"];
$titulo = $linha["titulo"];
$descricao = $linha["descricao"];
é facil consegui o resultado, porem para apresentar, ele usa tabela, o que deixa a desejar na utilização de CSS.

Edição feita por: ABarros, 24/11/2011, 09:13.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq