fsphp 0 Denunciar post Postado Dezembro 6, 2006 Pessoal,Quando eu tiro o loop que busca os dados no banco de dados a formatação funciona, quando eu coloco o loop a tabela com os dados aparecem no meio da página e não tem santo que mude isso.Já fiz com as tags html ecoando dentro do script, já usei HEREDOC etc e não teve jeito. Porque ocorre esse problema? Só um detalhe, isso está acontecendo no IE, já no Mozilla funciona! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif <html><head><title>Área Administrativa</title></head><body><?phpinclude "conecta_mysql.php";echo "<div style='position:absolute;display:block;top:0px;left:10px'>";echo "<table border='1' style='display:block;position:absolute;font-family:verdana, arial, helvetica, sans-serif;font-size:10px;top:0px;left:0px'>";echo "<tr><th>Nome do Aluno</th><th>LOGIN</th><th>ENDEREÇO</th><th>E-MAIL</th><th>TELEFONES</th><th>ANIVERSÁRIO</th></tr>";$seleciona = mysql_query("SELECT * FROM novos_dados");while($res = mysql_fetch_row($seleciona)){echo "<tr>";echo "<td>" . $res[1] . "</td><td>" . $res[2] . "</td><td>" . $res[3] . "</td><td>". $res[4] . "</td><td>" . $res[5] . "<br />" . $res[6] . "<br />" . $res[7] . "</td><td>". $res[8] . "</td>";echo "</tr><br />";}echo "</table>";echo "</div>";?></body></html>Valeu pessoal. Compartilhar este post Link para o post Compartilhar em outros sites
Samuel Machado 0 Denunciar post Postado Dezembro 7, 2006 o seu HTML está errado... tente assim: <html><head><title>Área Administrativa</title></head><body><?phpinclude "conecta_mysql.php";echo '<div style="position:absolute; display:block; top:0px; left:10px;">';echo '<table border="1" style="display:block; position:absolute; font-family:verdana, arial, helvetica, sans-serif; font-size:10px; top:0px; left:0px;">';echo '<tr><th>Nome do Aluno</th><th>LOGIN</th><th>ENDEREÇO</th><th>E-MAIL</th><th>TELEFONES</th><th>ANIVERSÁRIO</th></tr>';$seleciona = mysql_query("SELECT * FROM novos_dados");while($res = mysql_fetch_row($seleciona)){echo '<tr>';echo '<td>'.$res[1].'</td>';echo '<td>'.$res[2].'</td>';echo '<td>'.$res[3].'</td>';echo '<td>'.$res[4].'</td>';echo '<td>'.$res[5].'<br />'.$res[6].'<br />'.$res[7].'</td>';echo '<td>'.$res[8].'</td>';echo '</tr>';}echo '</table>';echo '</div>';?></body></html> tente aí, e ve se funciona... ;) Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Dezembro 7, 2006 Separe o html do php fica mais organizado e mais facil de voce mecher Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 7, 2006 CARACAS!!!!! Era mesmo!!! :blink: Aí Samuca: O erro no html foi que faltou o ";" no final da declaração do "style"? :mellow: Era isso ou outra coisa???? Foi isso que enxerguei, tá certo??? Valeu pessoal! http://forum.imasters.com.br/public/style_emoticons/default/yes.gif Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 Aí pessoal,Estive verificando o código e o problema aconteceu devido à forma como fiz a concatenação das tags e as variáveis dentro do loop WHILE.A outra parte do cógigo estava correta. Só não entendi onde estava o erro na concatenação pois, a princípio, eu achava que não tinha erros.Pode ser como o Samuel colocou, ou assim:echo "<tr>";echo "<td>" . $res[1] . "</td>";echo "<td>" . $res[2] . "</td>";echo "<td>" . $res[3] . "</td>";echo "<td>" . $res[4] . "</td>";echo "<td>" . $res[5] . "<br />" . $res[6] . "<br />" . $res[7] . "</td>";echo "<td>" . $res[8] . "</td>";echo "</tr>";As aspas dentro do html podem ser simples quando usadas dentro dos echos do php que, no caso, tem que ser delimitado pelas aspas duplas. E vice-versa, se delimitar o echo com aspas simples (como fez o Samuel), dentro das tags html tem que usar aspas duplas.Quem puder explicar o que houve de errado na minha concatenção inicial eu agradeceria muito. ;) Compartilhar este post Link para o post Compartilhar em outros sites
rsddaros 0 Denunciar post Postado Dezembro 8, 2006 while($res = mysql_fetch_row($seleciona)){echo "<tr>";echo "<td>" . $res[1] . "</td><td>" . $res[2] . "</td><td>" . $res[3] . "</td><td>". $res[4] . "</td><td>" . $res[5] . "<br />" . $res[6] . "<br />" . $res[7] . "</td><td>". $res[8] . "</td>";echo "</tr><br />";}echo "</table>";Pra que o <br /> no (echo "</tr><br />";) não tenho certeza disso mas pode ser isso que tenha dado erro...T+ Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Na mosca Richard! Não faço idéia porque coloquei aquele <br /> no código. Foi só eliminá-lo que funcionou perfeitamente. Olhando o que o Samuel fez, ele também não colocou o break. Provavelmente deu erro por não reconhecer essa como sendo uma tag de uma table. Engraçado que no Mozilla funcionou independente dela. Fiz o teste colocando \r\n no lugar do <br /> e funcionou. Alguém tem uma explicação mais exata do que houve? Valeu pessoal. B) Compartilhar este post Link para o post Compartilhar em outros sites
Samuel Machado 0 Denunciar post Postado Dezembro 8, 2006 mas para que quebrar a linha depois to </tr>? não precisa quebrar linha ali. outra coisa. olha como você estava gerando o seu html: echo "<table border='1' style='display:block; position:absolute; font-family:verdana, arial, helvetica, sans-serif; font-size:10px; top:0px; left:0px'>"; isso, iria retornar assim no html: <table border='1' style='display:block; position:absolute; font-family:verdana, arial, helvetica, sans-serif; font-size:10px; top:0px; left:0px'> e isso não é um html válido. as propriedades dos elementos, precisam ser delimitador por aspas duplas... ou seja: <table border="1" style="display:block; position:absolute; font-family:verdana, arial, helvetica, sans-serif; font-size:10px; top:0px; left:0px"> ;) Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 mas para que quebrar a linha depois to </tr>?não precisa quebrar linha ali.Pois é, Samuel, não sei onde eu estava com a cabeça para colocar o <br />depois do <tr>. Foi pura viagem! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif porque não tem sentido.Quanto o html, bem que o Fabyo falou para separar o htm, do php para ficar mais organizado.No entanto, quando trabalhamos o html dentro do código do php, estando este com aspas duplas, a pratica diz que pode-se fazer de duas formas, uma delas é escapando as aspas duplas com a barra invertida, e a outra é usando aspas simples. Que eu saiba não tem nenhuma recomendação para não usar dessa forma.Acredito que os moderadores e experts podem nos certificar disso.Outra alternativa é usar como você fez, o script do php em aspas simples e o html em dupla.Acho que é isso.Valeu a todos e até +. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Dezembro 8, 2006 O melhor mesmo é usar aspas duplas alem do mais que se voce nao usar aspas duplas nao funciona \r\n Se a string é delimitada entre aspas ("), o PHP entende mais seqüências de escape para caracteres especiais: http://br.php.net/manual/pt_BR/language.ty...g.syntax.double Mas o mais importante recurso de strings delimitadas por aspas está no fato de que nome de variáveis serão substituídos. exemplo: <?php $nome = "Fabyo"; echo 'Seu nome é : $nome';//Usando Apóstrofos ?> mostra: Seu nome é : $nome <?php $nome = "Fabyo"; echo "Seu nome é : $nome"';//usando Aspas ?> mostra: Seu nome é : Fabyo Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 Então, Fabyo, o mais correto é trabalhar com aspas (") nos scripts php e, quando tiver html dentro do mesmo utilizar a barra para escapar as aspas (") do html, certo?Embora seja mais "trabalhoso" o mais correto é sempre trabalhar com as barras de escape, né? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Dezembro 8, 2006 isso mesmo, se tiver que trabalhar com html junto Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 Valeu mais essa Fabyo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Samuel Machado 0 Denunciar post Postado Dezembro 8, 2006 é isso aí... no PHP você pode usar aspas simples ou duplas...mas no HTML que você vai gerar... nunca pode usar aspas simples para colocar as propriedades do elemento.sempre terá que usar aspas duplas...sendo assim, se usar aspas duplas no PHP, terá que escapar as aspas duplas do html com a barra "\".e se usar aspas simples no PHP, é só deichar o html normal mesmo... entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 Entendi, sim. Foi bom para relembrar as bases e princípios e ver que php não é só função, mas muito de VISIBILIDADE. B) Valeu a força aí Samuca! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
rsddaros 0 Denunciar post Postado Dezembro 8, 2006 Essa do \r\n não funcionar dentro de aspas simples eu não sabia.. legal... aprendi mais uma... (Y)vlw Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 Essa do \r\n não funcionar dentro de aspas simples eu não sabia.. legal... aprendi mais uma... (Y)vlwEu também não. Por isso é sempre bom seguir os princípios básicos do código, como colocou o Fabyo, pois a gente nunca sabe onde ele pode enroscar. Aí já viu, né, tem que pedir socorro para os amigos do iMaster. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
Perfect Lion 10 Denunciar post Postado Dezembro 8, 2006 OPa nada que um estudo não ajude =) http://forum.imasters.com.br/index.php?showtopic=158491 Compartilhar este post Link para o post Compartilhar em outros sites
fsphp 0 Denunciar post Postado Dezembro 8, 2006 Show de bola, ou melhor, show de CÓDIGO!!! Parabéns Erick. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Tem muita coisa para estudar, o problema é memória no HD da cabeça pra guardar tudo isso. :) , mas a gente chega lá!!! Estou repassando todos os meus códigos dos sites dos clientes para depurar erros e aprender mais um pouco. Acho uma boa prática. B) Compartilhar este post Link para o post Compartilhar em outros sites
ronanlumb 0 Denunciar post Postado Dezembro 8, 2006 Então aproveitando a discussãod sobre o HTML vou aproveitar para puchar o saco do Smarty e das CSS.Assim da para deixar o HTML separado do PHP e isso sim facilita a vida.Cada coisa no seu lugar. Isso não so ajuda a programar como tmb ajuda que erros "bestas" (modo de falar isso de vez em quando acontece mesmo) aconteçam pois não mistura códigos cada coisa no seu lugar. Compartilhar este post Link para o post Compartilhar em outros sites