Ir para conteúdo

POWERED BY:

Arquivado

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

666999

[Resolvido] como GeraColunas na tabela em php

Recommended Posts

ola pessoal tenho uma tabela em php

 

$sql = "SELECT * FROM `usuarios` ORDER BY `nome`";//

$query = mysql_query($sql);//Aqui executamos a consulta



$c = 2;


$tabela = '<table width="100%" border="1" cellspacing="0" cellpadding="0">';

while($linha = mysql_fetch_array($query)){//Aqui iniciaremos o loop que lerá o banco e posicionará o valor na tabela


$index = $c % 2;
$c++;

$tabela .= '<td width="33%"><div align="left"><img src=fotos/'.$linha['foto'] . '>
    </div>
    <div align="left">' .$linha['cod']. '
    </div>
    <div align="left">' .$linha['nome'].'
    </div>
  </td>';
  $tabela .= '</tr>';
}
$tabela .= '</table>';
    $tabela .= '</tr>';
$tabela .= '</table>';
echo $tabela;
?>

gostaria de saber como eu faço para criar 3 coluna na minha tabela

olha como ela esta

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo'<td>(ou div)'

 

ai voce tem que colocar atributos,

no caso ai,está 100%,um em baixo do outro,

ai voce tem que arrumar

 

echo' <div que aparece tudo> '

echo' <div da direita> Produto da direita </div>'

echo' <div do meio> produto do meio </div>

echo' <div da esqueda>produto da esquerda</div></div -- fexa div que aparece tudo>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ixi cara mais não sei

sou iniciante em php

 

eu consegui fazer em htm

 

olha

 

<table border="1" width="100%">
  <tr>
    <td width="33%"> </td>
    <td width="33%"> </td>
    <td width="34%"> </td>
  </tr>
  <tr>
    <td width="33%"> </td>
    <td width="33%"> </td>
    <td width="34%"> </td>
  </tr>
  <tr>
    <td width="33%"> </td>
    <td width="33%"> </td>
    <td width="34%"> </td>
  </tr>
  <tr>
    <td width="33%"> </td>
    <td width="33%"> </td>
    <td width="34%"> </td>
  </tr>
</table>

mais no php não conseguir criar coluna :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça com div que é melhor;

 

echo '<table border="1" width="100%">';
echo'  <tr>
    <td width="33%"> '.$linha['foto'].'</td>
    <td width="33%"> '.$linha['cod'].'</td>
    <td width="34%"> '.$linha['nome'].'</td>
  </tr>';
echo'  <tr>
    <td width="33%"> '.$linha['foto'].</td>
    <td width="33%"> '.$linha['cod'].</td>
    <td width="34%"> '.$linha['nome'].</td>
  </tr>';
echo'  <tr>
    <td width="33%">'.$linha['foto']. </td>
    <td width="33%"> '.$linha['cod'].</td>
    <td width="34%"> '.$linha['nome'].</td>
  </tr>';
echo'  <tr>
    <td width="33%"> '.$linha['foto'].</td>
    <td width="33%"> '.$linha['cod'].</td>
    <td width="34%"> <'.$linha['nome']./td>
  </tr>
</table>';

 

Tenta ai ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

i cara deu erro

 

olha que eu fiz

 

$sql = "SELECT * FROM `usuarios` ORDER BY `nome`";//

$query = mysql_query($sql);//Aqui executamos a consulta



$c = 2;


$tabela = '<table width="100%" border="1" cellspacing="0" cellpadding="0">';

while($linha = mysql_fetch_array($query)){//Aqui iniciaremos o loop que lerá o banco e posicionará o valor na tabela


$index = $c % 2;
$c++;

echo '<table border="1" width="100%">'
echo' <tr>
<td width="33%"> '<img src=fotos/'.$linha['foto'] . '</td>
<td width="33%"> '.$linha['cod'].'</td>
<td width="34%"> '.$linha['nome'].'</td>
</tr>';
echo' <tr>
<td width="33%"> '<img src=fotos/'.$linha['foto'] . ' </td>
<td width="33%"> '.$linha['cod'].</td>
<td width="34%"> '.$linha['nome'].</td>
</tr>';
echo' <tr>
<td width="33%">'<img src=fotos/'.$linha['foto'] . '</td>
<td width="33%"> '.$linha['cod'].</td>
<td width="34%"> '.$linha['nome'].</td>
</tr>';
echo' <tr>
<td width="33%"> '<img src=fotos/'.$linha['foto'] .</td>
<td width="33%"> '.$linha['cod'].</td>
<td width="34%"> <'.$linha['nome']./td>
</tr>
</table>'; 

  $tabela .= '</tr>';
}
$tabela .= '</table>';
    $tabela .= '</tr>';
$tabela .= '</table>';
echo $tabela;
?>

 

apareceu

 

 

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in D:\Arquivos de programas\EasyPHP-5.3.2\www\teste.php on line 23

Compartilhar este post


Link para o post
Compartilhar em outros sites

conserta :

 

<td width="34%"> <'.$linha['nome']./td>

 

quando voce usar img,nao se esqueça de fexar :D

 

<td width="33%">'<img src=fotos/'.$linha['foto'] . '></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa heredoc. Fica bem mais organizado, sem essa cofusão toda.

 

$var = <<<HTML
<tr>
<td width="33%"><img src="fotos/{$linha['foto']}" /></td>
<td width="33%">{$linha['cod']}</td>
<td width="34%">{$linha['nome']}</td>
</tr>
<tr>
<td width="33%"><img src="fotos/{$linha['foto']}" /></td>
<td width="33%">{$linha['cod']}</td>
<td width="34%">{$linha['nome']}</td>
</tr>
<tr>
<td width="33%"><img src="fotos/{$linha['foto']}" /></td>
<td width="33%">{$linha['cod']}</td>
<td width="34%">{$linha['nome']}</td>
</tr>
<tr>
<td width="33%"><img src="fotos/{$linha['foto']}" /></td>
<td width="33%">{$linha['cod']}</td>
<td width="34%">{$linha['nome']}</td>
</tr>
HTML;

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eu mudei o codico

 

e consegui fazer em tabela

 

mais tipo

esta repitindo os produtos

 

olha

Imagem Postada

 

olha codico que mudei

$sql = "SELECT * FROM `usuarios` ORDER BY `nome`";//

$query = mysql_query($sql);//Aqui executamos a consulta



$c = 2;


$tabela = '<table width="100%" border="1" cellspacing="0" cellpadding="0">';

while($linha = mysql_fetch_array($query)){//Aqui iniciaremos o loop que lerá o banco e posicionará o valor na tabela


$index = $c % 2;
$c++;

$tabela .= '<table border="1" width="100%">';
  $tabela .= '<tr>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '<td width="34%"> <img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '</tr>';
   $tabela .= '<tr>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '<td width="34%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '</tr>';
   $tabela .= '<tr>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '<td width="34%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '</tr>';
   $tabela .= '<tr>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
  $tabela .= '<td width="33%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
   $tabela .= '<td width="34%"><img src=fotos/'.$linha['foto'] . '>' .$linha['nome'].$linha['cod'].'</td>';
  $tabela .= '</tr>';

$tabela .= '</table>';

}

echo $tabela;
?>

 

como faço para não repitir os produtos ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai cara nesse tutorial tem algo parecido com o que tu quer galeria com php

e tem o codigo para download e um exemplo funcionando blza

 

 

 

a cara la nao mostra nada doque quero ¬¬

 

ouvi dizer que tem uma função que faz não mostrar produto duplicado

 

SELECT DISTINCT

 

como uso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara que confusão para fazer imprimir em colunas, você tem criar um laço

 

segue um exemplo prático, e é só ajustar ao que você quer!!!

 

<style type="text/css">
ul.coluna {
        float: left;
        width: 200px;
}
</style>
<?php
$conn = mysql_connect('localhost', 'root', '123');
mysql_select_db('test', $conn);

$sql = "SELECT * FROM `tabela`";

$q = mysql_query( $sql );

echo '<ul class="coluna">',"\n";
while( $dados = mysql_fetch_assoc( $q ) )
{
        if( $idAnt != $dados['Id'] && $idAnt != '' )
                echo '</ul>',"\n",'<ul class="coluna">',"\n";
                
        echo "\t",'<li>',$dados['Nome'], '|', $dados['Id'], '|', $dados['Quantidade'],'</li>', "\n";
        $idAnt = $dados['Id'];
}

echo '</ul>';

ps.: Se não conseguir manipular li, avisa que faço um código simples em tabela!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

ai cara nesse tutorial tem algo parecido com o que tu quer galeria com php

e tem o codigo para download e um exemplo funcionando blza

 

 

 

a cara la nao mostra nada doque quero ¬¬

 

ouvi dizer que tem uma função que faz não mostrar produto duplicado

 

SELECT DISTINCT

 

como uso?

 

 

nao precisa do SELECT DISTINCT é tua forma de fazer esta errada

 

bom cara de dei o exemplo pois tua forma aqui de fazer as tabelas esta totalmente errada

pois voce esta repetindo todos os resultados e essa tua tabela vai estourar se botar mais registros

tu vai ter que quebrar as linhas tipo a cada 3 registros na horizontal quebra uma linha e assim pos diante

e tambem o que que adianta essa tabela sem uma paginação ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif vlw WDuarte este modelo era oque estava procurando ..

 

mais tipo

 

esta mostrando em 4 coluna como faço para aparecer os resuldado em 3 coluna

depois desce os demais produto

 

 

olha o codico modificado

 

<style type="text/css">
ul.coluna {
float: left;
width: 160px;
}
</style>
<?php
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('meu bd', $conn);

$sql = "SELECT * FROM `usuarios`";

$q = mysql_query( $sql );


echo '<ul class="coluna">',"\n";
while( $dados = mysql_fetch_assoc( $q ) )
{

echo '</ul>',"\n",'<ul class="coluna">',"\n";

echo "\t",'<p align="center"><img src=fotos/'.$dados['foto'] . '><div align="left"><p align="center"> ', $dados['cod'],'<div align="left"><p align="center">', $dados['nome'], '<p align="center"></li>', "\n";
$idAnt = $dados['foto'];
}

echo '</ul>';

olha como ficou

 

Imagem Postada

 

pela foto na primeira coluna tem o produto

123 refri

eu gostaria de arumar esta primeira coluna

e mostrar na tabela somente 3 coluna

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae tem que manjar de css para corrigir!!!

 

mas faz com tabulação mesmo, fiz aqui rapidão só fica faltando outras linhas e alguns ajustes na tabela acho que manja disso né?! coloquei da foto somente

 

<?php
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('banco', $conn);

$coluna = 3; // quantidade coluna
$limite = 12;// limite para paginação

$sql = "SELECT * FROM `usuarios` LIMIT " . $limite;
$q = mysql_query( $sql );


echo "<table width='100%' heigth='400px' border='0' cellspacing='8' cellpadding='8'>";
    $conta_coluna = 1;
    while ($obj = mysql_fetch_object($q)){
		
	if ($conta_coluna == 1){
	     echo "<tr>";
        }
		//insira as linhas necessárias é so ter conhecimento basico de html
		echo "<td align='center' width='33%\'><img src=fotos/". $obj->nome . "></td>";
        
		$conta_coluna++;
        if ($conta_coluna == $coluna+1){
            echo "</tr>";
            $conta_coluna = 1;
        }
    }
    echo "</table>";

mysql_free_result($q);
mysql_close($conn);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu e que bom que conseguiu resolver!!! ;)

 

Abraços!!!

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.