Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

iFull

Imprimindo em colunas não em linhas PHP+HTML

Recommended Posts

Olá pessoal, to querendo imprimir na pagina os resultados de uma pesquisa né...

nela contem 1 imagem, um titulo, e um texto, eu consegui fazer aparecer na pagina o// sou novato em php mas ta mesclando HTML ;S ai que complica neah ;x

bom meu codigo ta imprimindo as noticias uma embaixo da outra... gostaria de fazer a função para aparecer as imagens uma do lado da outra... e não embaixo da outra...

deu pra entender? ;x

bom... segue abaixo meu codigo quem puder ajuda fico grato...

 

function mostraNoticiastop($quantidadeNoticias) {
	
	if (!conectaBancoDados()) {
		print("<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>");
	}
	else {
		// Comando que será executado no Banco de Dados.
		$comandoSql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo, noticia, imagem FROM $tabela ORDER BY data_formatada DESC";
		// Joga todos os dados da pesquisa para a variavel dados.
		$dados = mysql_db_query($bancoDados, $comandoSql);
		// Mostra todos as noticias do sistema mostrando uma mensagem de erro em caso de falha.
		if ($dados) {
			$i = 0; // Variável de controle da quantidade de notícias que será exibida
			// Cria uma tabela com os resultados.
			print("<table width = '200' align = 'left' border = '0'>");
			while (($linha = mysql_fetch_array($dados)) && ($i < $quantidadeNoticias)) {
				// Formata a notícia para que apareçam apenas os 250 primeiros caracteres.
				@$noticia_formatada = substr($linha[noticia], 0, 250)."[+]";
	print("<tr><th width='98' height='81'colspan=' 2'><div align='left'><img src='img_noticias/$linha[imagem]' alt='sem imagem' width='200' height='110'></strong></div></th></tr>");
	print("<tr><th width='98'><div align='left'><strong>$linha[titulo]</strong></div></th></tr>");
	print("<tr><th width='98'><div align='left'><a href='mostrar_noticia.php?id=$linha[id]'>$noticia_formatada</a></div></th></tr>");
				$i++;
			}
			print("</table>");
		}
		else print("<center><strong>Erro na exibiçao das notícias!</strong></center>");
	}
	
}

vlw pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar a mesma idéia que dei aqui:

http://forum.imasters.com.br/index.php?/topic/366144-lista-de-registos-de-bd/

 

"A forma mais simples de fazer HTML, é faz um HTML simples!" ^_^ (by ipse ego)

 

Coloque dentro dos <li> tudo oque você precisar mostrar de cada registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw amigo mas o meu caso é o seguinte...

o resultado ta diferente desse, eu quero que se repita ao lado "||" não em linha "=" intende?

vlw ae pela ajuda ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... pelo que li da tua descrição, é a mesma coisa que eu disse.. colunas são verticais, e linhas são horizontais.

bom meu codigo ta imprimindo as noticias uma embaixo da outra... gostaria de fazer a função para aparecer as imagens uma do lado da outra... e não embaixo da outra.

Coloque uma imagem do que pretende então.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, é meio complicado de explicar né mas vamos la...

 

aesse script são de 3 valores, img,titulo e texto certo? Eles se repetem automaticamente né...

mas estão se repetindo verticalmente, e eu preciso que eles se repitam horizontalmente...

 

ex:

ta saindo assim

 

p><p>[img]<a href=http://img402.imageshack.us/img402/7296/isso.th.jpg' alt='isso.th.jpg'>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente oq eu disse amigo, veja:

-> Antes de fazer o php pense no HTML. E o HTML deve ser assim para oque você quer:

 

<html>
<head>
<style type="text/css">
#colunas {
	width: 630px;
}
#colunas li {
	float: left;
	width: 200px;
	margin-right: 10px;
}
</style>
</head>
<body>
	<ul id="colunas">
		<li><img src="foto1.jpg" alt="" />
			<h3>Titulo da Foto1</h3>
			<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
			Integer eu velit augue. Ut sagittis, mauris ut commodo sagittis, 
			quam est sodales est, a venenatis orci tortor nec velit. 
			Pellentesque habitant morbi tristique senectus et netus et 
			malesuada fames ac turpis egestas. Duis id arcu non felis 
			hendrerit euismod.</p>
		</li>
		<li><img src="foto2.jpg" alt="" />
			<h3>Titulo da Foto2</h3>
			<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
			Integer eu velit augue. Ut sagittis, mauris ut commodo sagittis, 
			quam est sodales est, a venenatis orci tortor nec velit. 
			Pellentesque habitant morbi tristique senectus et netus et 
			malesuada fames ac turpis egestas. Duis id arcu non felis 
			hendrerit euismod.</p>	
		</li>
		<li><img src="foto3.jpg" alt="" />
			<h3>Titulo da Foto3</h3>
			<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
			Integer eu velit augue. Ut sagittis, mauris ut commodo sagittis, 
			quam est sodales est, a venenatis orci tortor nec velit. 
			Pellentesque habitant morbi tristique senectus et netus et 
			malesuada fames ac turpis egestas. Duis id arcu non felis 
			hendrerit euismod.</p>	
		</li>
	</ul><!--  /colunas -->
</body>
</html>
online:

http://www.cenasordidas.hbe.com.br/exemplos/colunas.html

 

Entendeu ? é só fazer oque eu disse... para fazer isso com php, basta colocar o while repetindo os <li></li> como demonstrei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi +/- :S

 

a sua logica no html ta perfeita... eu consigo fazer isso no html... e no php mas quando é buscado resultado por resultado...

não quando uma coisa depende da outra intende?

pra cada foto a um titulo para cada titulo ah um texto... tipo esse eh um sistema para noticia intende?

ta f*** de alinhar isso horizontalmente..."no php"...^^

 

eu fiz as funções em uma pagina só... então puxo td por include certo...

e eu teria que fazer while no li ;x não sou meio novato e não intendo muito em php... ta complicadão pra mim hehe apesar que cheguei até ai.. mas beleza..

vou tentando ae...

se puder ajudar adaptar esse codigo de php meu com o seu em css fico grato...

enquanto isso vou tentando aki vlw pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficaria algo como:

<?php
function mostraNoticiastop( $quantidadeNoticias ) 
{
	if (!conectaBancoDados())
			return '<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>';
	else {
		$sql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo, noticia, imagem 
		FROM {$tabela} ORDER BY data_formatada DESC LIMIT {$quantidadeNoticias}";

		$query = mysql_query( $sql );
		$li='';//resetando a variável
		if($query) 
		{
			while ( $linha = mysql_fetch_assoc($dados) ) 
			{
				$noticia_formatada = substr($linha[noticia], 0, 250).'[+]';

				$li .= '<li><img src="img_noticias/'.$linha['imagem'].'" alt="" />
				<h3>'.$linha[titulo].'</h3>
				<p><a href="mostrar_noticia.php?id='.$linha['id'].'">'.$noticia_formatada.'</a></p>
				</li>';
			}
			return $li;
		}
		else return ("<center><strong>Erro na exibiçao das notícias!</strong></center>");
	}       
}
?>
        <ul id="colunas">
<?php echo mostraNoticiastop( 3 ); ?>
        </ul><!--  /colunas -->
não testei..

Compartilhar este post


Link para o post
Compartilhar em outros sites

1º eu adptei no funcoes.php nao imprimiu erro e nada.. ai joguei direto na pagina né..

e deu erro que você colocou...

 

(Erro na exibiçao das notícias!)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá.. debugue o código!

$sql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo, noticia, imagem 
                FROM {$tabela} ORDER BY data_formatada DESC LIMIT {$quantidadeNoticias}";
               echo $sql;
                $query = mysql_query( $sql )or die( mysql_error() );
diga oque mostra.

Compartilhar este post


Link para o post
Compartilhar em outros sites
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY data_formatada DESC LIMIT 3' at line 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php include("funcoes.php");
function mostraNoticiastop( $quantidadeNoticias ) 
{
        if (!conectaBancoDados())
                        return '<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>';
        else {
                 $sql = "SELECT id, date_format(data, '%d/%m/%Y') as data_formatada, titulo, noticia, imagem 
                FROM {$tabela} ORDER BY data_formatada DESC LIMIT {$quantidadeNoticias}";
               
              echo  $query = mysql_query( $sql )or die( mysql_error() );

                $query = mysql_query( $sql );
                $li='';//resetando a variável
                if($query) 
                {
                        while ( $linha = mysql_fetch_assoc($dados) ) 
                        {
                                $noticia_formatada = substr($linha[noticia], 0, 250).'[+]';

                                $li .= '<li><img src="img_noticias/'.$linha['imagem'].'" alt="" />
                                <h3>'.$linha[titulo].'</h3>
                                <p><a href="mostrar_noticia.php?id='.$linha['id'].'">'.$noticia_formatada.'</a></p>
                                </li>';
                        }
                        return $li;
                }
                else return ("<center><strong>Erro na exibiçao das notícias!</strong></center>");
        }       
}
?>
        <ul id="colunas">
<?php echo mostraNoticiastop(3); ?>
        </ul><!--  /colunas -->

 

o codigo que adicionei la..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho... :wacko:

Faça a query assim:

$sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem 
      FROM {$tabela} LIMIT {$quantidadeNoticias}";
E assim:
$sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem 
                FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";
e poste os resultados.

 

hein?!

echo  $sql;

                $query = mysql_query( $sql )or die( mysql_error() );
Acredito que é por causa daquela variável $table ali.. qual deveria ser o valor dela? onde você define ela ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php include("funcoes.php");
function mostraNoticiastop( $quantidadeNoticias ) 
{
        if (!conectaBancoDados())
                        return '<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>';
        else {
 $sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem 
                FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";
               
             echo   $query = mysql_query($sql)or die( mysql_error() );
                $li='';//resetando a variável
                if($query) 
                {
                        while ( $linha = mysql_fetch_assoc($dados) ) 
                        {
                                $noticia_formatada = substr($linha[noticia], 0, 250).'[+]';

                                $li .= '<li><img src="img_noticias/'.$linha['imagem'].'" alt="" />
                                <h3>'.$linha[titulo].'</h3>
                                <p><a href="mostrar_noticia.php?id='.$linha['id'].'">'.$noticia_formatada.'</a></p>
                                </li>';
                        }
                        return $li;
                }
                else return ("<center><strong>Erro na exibiçao das notícias!</strong></center>");
        }       
}
?>
        <ul id="colunas">
<?php echo mostraNoticiastop(3); ?>
        </ul><!--  /colunas -->

esse codigo com as 2 opções que você disse deu esse 2 tipos de erros...

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 3' at line 2

e

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY data DESC LIMIT 3' at line 2

na função que usei na pagina funções php...

será isso?...

 

corrigindo (funcoes.php) tem o include para (config.php) estou usando o include funcoes.php que puxa o config então a tabela ta sendo ligada.. ;S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual banco de dados você está usando? Qual versão ?

Ele não suporta o LIMIT ??

 

$sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem 
                FROM {$tabela} ORDER BY data DESC ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

phpMyAdmin - 2.10.2

 

* Versão do cliente MySQL: 5.0.37

* Extensões PHP usadas: mysql

 

phpMyAdmin - 2.10.2

 

* Versão do cliente MySQL: 5.0.37

* Extensões PHP usadas: mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM {$tabela} LIMIT {$quantidadeNoticias}";

E assim:

 

$sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 3' at line 2

e

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY data DESC LIMIT 3' at line 2

Veja só, o William de deu dois códigos e você teve dois erros, porém, se você observar, nos dois casos o erro ocorre logo após o {$table}, então:

 

Acredito que é por causa daquela variável $table ali.. qual deveria ser o valor dela? onde você define ela ??

 

Faça o seguinte:

 

$sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";
echo $sql;

$query = mysql_query($sql)or die( mysql_error() );

 

Deverá aparecer a consulta SQL gerada logo acima do erro, coloque ela aqui (só a consulta, o erro já sabemos qual que é).

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM ORDER BY data DESC LIMIT 3You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY data DESC LIMIT 3' at line 1

 

codigo...

<?php include("funcoes.php");
function mostraNoticiastop( $quantidadeNoticias ) 
{
        if (!conectaBancoDados())
                        return '<center><strong>Nao foi possível estabelecer conexao com o Banco de Dados!</strong></center>';
        else {
 $sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";
			echo $sql;

			$query = mysql_query($sql)or die( mysql_error() );
               
            
                $li='';//resetando a variável
                if($query) 
                {
                        while ( $linha = mysql_fetch_assoc($dados) ) 
                        {
                                $noticia_formatada = substr($linha[noticia], 0, 250).'[+]';

                                $li .= '<li><img src="img_noticias/'.$linha['imagem'].'" alt="" />
                                <h3>'.$linha[titulo].'</h3>
                                <p><a href="mostrar_noticia.php?id='.$linha['id'].'">'.$noticia_formatada.'</a></p>
                                </li>';
                        }
                        return $li;
                }
                else return ("<center><strong>Erro na exibiçao das notícias!</strong></center>");
        }       
}
?>
        <ul id="colunas">
<?php echo mostraNoticiastop(3); ?>
        </ul><!--  /colunas -->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é isto que o pessoal tá pedindo. Quando você executar, vai imprimir a query. Poste a query executada, que imprimiu na tela aqui.

 

Para facilitar o seu entendimento, troque isto.

 $sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";
                        echo $sql;

Por isto

 $sql = "SELECT id, DATE_FORMAT(data, '%d/%m/%Y') AS data_formatada, titulo, noticia, imagem FROM {$tabela} ORDER BY data DESC LIMIT {$quantidadeNoticias}";
                        echo 'A query para postar no fórum é esta - <br/>'.$sql;

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.