DouglasP 1 Denunciar post Postado Abril 4, 2009 Boa tarde, tenho o seguinte codigo: $query = "SELECT id,Tipo,Titulo,local,datahora from clive_noticias where Tipo = 'balada' order by id desc"; $result = mysql_query( $query ); for($i=0;$i < mysql_num_rows($result);++$i) { $row = mysql_fetch_row($result); $titulo = utf8_decode($row[2]); $local = utf8_decode($row[3]); $datahora = utf8_decode($row[4]); echo '<tr><td onMouseOver="MM_effectHighlight(this, 1000, \'#CFCFCF\', \'#E8E8E8\', \'#E8E8E8\', false)">- <font size=\'1\' face=\'Verdana\' color=\'#363636\'><strong>'.$titulo.'</strong></font><font size=\'1\' face=\'Arial\' color=\'#4F4F4F\'><br> <br> '.$local.'<br> '.$datahora.'</font></td>'; }prem preciso que ele feche o <tr> a cada 2 <td>, no caso ficando um retangulo.a tabela deveria ficar assim: Grato. Compartilhar este post Link para o post Compartilhar em outros sites
Douglas 6 Denunciar post Postado Abril 4, 2009 Faça um contador interno (variável incremento), a cada duas "passadas" no loop você imprime uma tag de fechamento e abertura </tr><tr> Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Abril 4, 2009 desculpe amigo, mas nao entendi, é a primeira vez que estou trabalhando com loop. Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Abril 5, 2009 Tem como alguem me explicar como fazer oq o Douglas disse? pois nao entendi como se faz. grato. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 5, 2009 Precisa ser com tabelas ? com UL LI, é tão mais simples.. basta flutuar o LI.. e definir uma largura pro UL q caiba somente 2 LI.. que vai tudo acontecer naturalmente, pelo fluxo HTML.. e você só vai precisar programar o laço php, sem nenhum contador. Exemplo com o banco que tenho aqui: <style> #listagem { width: 450px; } #listagem li { width: 200px; float: left; background-color: #f0f; margin: 10px; } </style> <?php $con = mysql_connect('localhost','root','123'); $db = mysql_select_db('noticia', $con); $sql = "SELECT * FROM `artigo` ORDER BY `id` DESC LIMIT 15"; $q = mysql_query( $sql )or die( mysql_error() ); echo '<h2>Aqui listo as notícias que tão no banco</h2>'; echo '<ul id="listagem">'; while($dados = mysql_fetch_assoc( $q ) ) { echo '<li>'.$dados['artigo'].'</li>'; } echo '</ul><!--/ fecha listagem -->'; ?> importante ai pra você, é ver os<ul> <li></li> <li></li> <li></li> <li></li> </ul>, entender que cada <li></li>, é onde vai teu conteudo.. e só se preocupar com o loop disso. Pois o CSS vai jogar um do lado do outro naturalmente. Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Abril 5, 2009 tava precisando com tabela msm, porem vo da uma olhada nesse exemplo. Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Abril 5, 2009 já fiz muuuito isso já, mas com listas é bem mais simples... vou ver se lembro: <table> <tr> <?php $n = 0; while (condicao) { echo "<td>blablabla</td>"; $n++; if ($n == 2) { echo "</tr><tr>"; $n = 0; } } ?> </tr> </table> Bom, acho que deve funcionar, se não, posta aí que eu vejo o que deu errado xD... Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 5, 2009 Tem outra forma de fazer... como conferir se o número é divisor de outro, com o operador %. No caso acima, basta iniciar o contador em 1, e colocar o </tr><tr> .. depois que o contador chegar num número par.. $n % 2 == 0 Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Abril 5, 2009 Nesse caso, ficaria assim: <table> <tr> <?php $n = 0; while (condicao) { echo "<td>blablabla</td>"; $n++; if ($n % 2 == 0) { echo "</tr><tr>"; } } ?> </tr> </table> Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Abril 5, 2009 Coloquei assim: $n = 0; while ($n<=2) { echo '<td onMouseOver="MM_effectHighlight(this, 1000, \'#CFCFCF\', \'#E8E8E8\', \'#E8E8E8\', false)">- <font size=\'1\' face=\'Verdana\' color=\'#363636\'><strong>'.$titulo.'</strong></font><font size=\'1\' face=\'Arial\' color=\'#4F4F4F\'><br> <br> '.$local.'<br> '.$datahora.'</font></td>'; $n++; if ($n % 2 == 0) { echo "</tr><tr>"; } } } porem ele exibe 3 dados de cada, ja pulando os espaços certos. esse é o script completo ja com a alteração: $query = "SELECT id,Tipo,Titulo,local,datahora from clive_noticias where Tipo = 'balada' order by id desc"; $result = mysql_query( $query ); for($i=0;$i < mysql_num_rows($result);++$i) { $row = mysql_fetch_row($result); $titulo = utf8_decode($row[2]); $local = utf8_decode($row[3]); $datahora = utf8_decode($row[4]); $n = 0; while ($n<=2) { echo '<td onMouseOver="MM_effectHighlight(this, 1000, \'#CFCFCF\', \'#E8E8E8\', \'#E8E8E8\', false)">- <font size=\'1\' face=\'Verdana\' color=\'#363636\'><strong>'.$titulo.'</strong></font><font size=\'1\' face=\'Arial\' color=\'#4F4F4F\'><br> <br> '.$local.'<br> '.$datahora.'</font></td>'; $n++; if ($n % 2 == 0) { echo "</tr><tr>"; } } } Compartilhar este post Link para o post Compartilhar em outros sites
DouglasP 1 Denunciar post Postado Abril 5, 2009 arrumei, o certo é assim: $query = "SELECT id,Tipo,Titulo,local,datahora from clive_noticias where Tipo = 'balada' order by id desc"; $result = mysql_query( $query ); $n = 0; while ($n<=2) { for($i=0;$i < mysql_num_rows($result);++$i) { $row = mysql_fetch_row($result); $titulo = utf8_decode($row[2]); $local = utf8_decode($row[3]); $datahora = utf8_decode($row[4]); echo '<td onMouseOver="MM_effectHighlight(this, 1000, \'#CFCFCF\', \'#E8E8E8\', \'#E8E8E8\', false)">- <font size=\'1\' face=\'Verdana\' color=\'#363636\'><strong>'.$titulo.'</strong></font><font size=\'1\' face=\'Arial\' color=\'#4F4F4F\'><br> <br> '.$local.'<br> '.$datahora.'</font></td>'; $n++; if ($n % 2 == 0) { echo "</tr><tr>"; } }} Compartilhar este post Link para o post Compartilhar em outros sites