Jump to content


Photo

Dynamic Table In Html? :S


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

#1 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 09:25

Bons dias, Estou a imprimir para o ecra o resultado de uma pesquisa que faço por ID, através deste script.
------------------------------------------------------------------------------------------------------------------------------------------
<?php if(isset($_POST['submit'])){
$id_medico = strip_tags($_POST['id_medico']);
$exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/
$query = mysql_query("SELECT * FROM mensagens WHERE id_medico = '".mysql_real_escape_string($id_medico)."'");
echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>";
echo "<table>";
while($dados = mysql_fetch_array($query)){
$descreva = mysql_query("SELECT * FROM mensagens WHERE id_mensagem='". $dados[0] ."'");

while($atributos = mysql_fetch_array($descreva)){
echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[2]</td><td><font face=Verdana size=1>| $atributos[3]</td><td><font face=Verdana size=1>| $atributos[4]</td></tr>";}
echo "</table>";
}}else{$nome = '';}
?>
----------------------------------------------------------------------------------------------------------------------------------------------
O problema esta que esta forma de imprimir para o ecra nao é nada agradavel... não me conseguem ajudar? de forma a conseguir imprimir os resultados para uma tabela minimanete apresentavel.
Agradecia bastante uma ajuda vossa.

#2 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 24/11/2009, 11:56

Se o seu post é sobre a forma (design da tabela, etc) como os resultados são apresentados, deveria estar no fórum (X)HTML, CSS e Metodologias.

vlw,
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#3 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 12:15

hmmm... a minha duvida acho que é mesmo sobre php... porque acho que vai ser o php que me vai criar a tabela e meter para la os dados....

Mas se calhar posso estar enganado,é o que da ser novo no php... so estava a tentar arranar alguma ajuda em qualquer sentido ^^

#4 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 24/11/2009, 12:57

PHP não cria html para você. :P

Primeiro crie uma tabela sem nada de PHP, com dados fictícios. Daí você vai formatando essa tabela, quando ela te agradar, aí sim você joga o PHP em cima. ;)
att,
Muller Dias
ex-administrador Fórum WMO

#5 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 13:24

bem... consegui avancar... e tenho algo como isto agora

-------------------------------------------------------------------------------------------------------------------------------------
<table id="content" border="2" bordercolor="#00CC00">
<?php
while($dados = mysql_fetch_array($query))
{
$descreva = mysql_query("SELECT * FROM mensagens WHERE id_mensagem='". $dados[0] ."'");

while($atributos = mysql_fetch_array($descreva)) :
?>
<tr>
<td> <?php echo $atributos[0]; ?></td>
<td>| <?php echo $atributos[1]; ?></td>
<td>| <?php echo $atributos[2]; ?></td>
<td>| <?php echo $atributos[3]; ?></td>
<td>| <?php echo $atributos[4]; ?></td>
</tr>
<?php endwhile; ?>
</table>
<?php
}
} else $nome = '';
?>

--------------------------------------------------------------------------------------
So que ele so me esta a colocar o 1o campo encontrado na tabela :/... conseguem dizer-me porque??

#6 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 24/11/2009, 13:52

Apenas um campo ou apenas uma linha?

Se for apenas uma linha, é porque você colocou uma condição na query.

$descreva = mysql_query("SELECT * FROM mensagens WHERE id_mensagem='". $dados[0] ."'");

att,
Muller Dias
ex-administrador Fórum WMO

#7 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 24/11/2009, 13:55

e também, não deveria ser assim, a linha do while?

while($atributos = mysql_fetch_array($descreva)){

diferente de
while($atributos = mysql_fetch_array($descreva)) :

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#8 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 24/11/2009, 14:07

Desde que ele feche com endwhile; não tem problema. Eu só não faço assim porque são muitas letras. :P
att,
Muller Dias
ex-administrador Fórum WMO

#9 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 14:09

É so a 1a linha que me esta a aparecer na tabela... Meti uma condição na query? acho que nao estou bem a entender... porque ele mostra os resultados todos, so nao os coloca na tabela :/

E se coloco "while($atributos = mysql_fetch_array($descreva)){" ele da-me erro na linha do endwhile :/

#10 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 24/11/2009, 14:12

:ponder:

Para que esse while aqui?

while($dados = mysql_fetch_array($query))

att,
Muller Dias
ex-administrador Fórum WMO

#11 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 14:16

isso vem de cima... vou colocar aqui para ser mais facil para voces de me conseguirem dar uma mao.
------------------------------------------------------------------------------------------------------
<?php
if(isset($_POST['submit']))
{
$id_medico = strip_tags($_POST['id_medico']);
$exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/
$query = mysql_query("SELECT * FROM mensagens WHERE id_medico = '".mysql_real_escape_string($id_medico)."'");
?>
<div id="topic">
<b>Tabelas da base de dados</b>
</div>
<table id="content" border="2" bordercolor="#00CC00">
<?php
while($dados = mysql_fetch_array($query))
{
$descreva = mysql_query("SELECT * FROM mensagens WHERE id_mensagem='". $dados[0] ."'");

while($atributos = mysql_fetch_array($descreva)){
?>
<tr>
<td> <?php echo $atributos[0]; ?></td>
<td>| <?php echo $atributos[1]; ?></td>
<td>| <?php echo $atributos[2]; ?></td>
<td>| <?php echo $atributos[3]; ?></td>
<td>| <?php echo $atributos[4]; ?></td>
</tr>
<p>
<?php } ?>
</table>
<?php
}
} else $nome = '';
?>
--------------------------------------------------------------------------------------------------------------
espero que ajude

#12 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 24/11/2009, 14:17

E sobre a condição, é isso aqui:

WHERE id_mensagem='". $dados[0] ."'"

Você está pegando os resultados que tinha id_mensagem igual a alguma coisa. O que seria esse $dados[0]?
att,
Muller Dias
ex-administrador Fórum WMO

#13 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 14:24

pois ^^ o problema esta por ai... so que isto ja esta a ficar confuso para mim :(

esse "WHERE id_mensagem='". $dados[0] ."'"" devia ser WHERE id_medico='". $dados[0] ."'", para ele ir buscar as mensagens de um determinado medico...

Eu ja troquei o id_mensagem por id_medico... e ele para o cado do id_medico=1 coloca as mensagens desse medico dentro da tabela direitinho agora, mas imprime tb o resto das mensagens, mas fora da tabela. E quando pesquiso por outros id's de medicos ja nao me imprime nada...

#14 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 24/11/2009, 14:32

Acho que agora sim estou começando a entender o que você quer fazer.

Bom, você colocou duas querys e fez 2 loops. Se for o que estou pensando que é, não precisa disso. ;)

Faça assim:

<?php
if(isset($_POST['submit'])) {
$id_medico = strip_tags($_POST['id_medico']);
$exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/
$query = mysql_query("SELECT * FROM mensagens WHERE id_medico = '".mysql_real_escape_string($id_medico)."'");
?>

<div id="topic"><b>Tabelas da base de dados</b></div>
<table id="content" border="2" bordercolor="#00CC00">
<?php
while($atributos = mysql_fetch_array($query)){
?>
   <tr>
     <td> <?php echo $atributos[0]; ?></td>
     <td>| <?php echo $atributos[1]; ?></td>
     <td>| <?php echo $atributos[2]; ?></td>
     <td>| <?php echo $atributos[3]; ?></td>
     <td>| <?php echo $atributos[4]; ?></td>
   </tr>
<?php
}
?>
</table>

<?php
}
?>

Se minha resposta foi útil, clique em Posted Image. ^_^
att,
Muller Dias
ex-administrador Fórum WMO

#15 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 24/11/2009, 14:42

consegui.... nao foi nada facil :)
Vi esse codigo que colocas-te depois de fazer o meu ^^
Vou por aqui o codigo para verem... ou mesmo para ajudar quem venha com o mesmo problema que eu ^^
-----------------------------------------------------------------------------------------------------------------------------------
<!----------------PESQUISA POR Medico---------->
<?php
if(isset($_POST['submit']))
{
$id_medico = strip_tags($_POST['id_medico']);
$exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/
$query = mysql_query("SELECT * FROM mensagens WHERE id_medico = '".mysql_real_escape_string($id_medico)."'");
?>
<div id="topic">
<b>Tabelas da base de dados</b>
</div>
<table id="content" border="2" bordercolor="#00CC00">
<?php
while($dados = mysql_fetch_array($query)){
?>
<tr>
<td> <?php echo $dados[0]; ?></td>
<td>| <?php echo $dados[1]; ?></td>
<td>| <?php echo $dados[2]; ?></td>
<td>| <?php echo $dados[3]; ?></td>
<td>| <?php echo $dados[4]; ?></td>
</tr>
<p>
<?php } ?>
</table>
<?php
} else $nome = '';
?>
-----------------------------------------------------------------------------------------------------------------------------------
Obrigado mesmo a todos, sem vocês nao tinha chegado la que ja estava "cego" com isto :)
Valeu mesmo... 5 estrelas para vocês ;)




1 user(s) are reading this topic

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

IPB Skin By Virteq