Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde aos amigos de trabalho.
É possível transformar isso:
<table width="150" border="1">
<tr>
<td>nome do campo</td>
</tr>
<?php $sql = mysql_query("select campo from tabela");
while ($linha = mysql_fetch_array($sql)) { ?>
<tr>
<td><?php echo "". $linha['campo'] .""; ?></td>
</tr>
<?php } ?>
</table>
Em algo assim:
<table width="150" border="1">
<tr>
<td>nome do campo</td>
</tr>
<?php echo $a; ?>
<tr>
<td><?php echo $b; ?></td>
</tr>
<?php echo $c; ?>
</table>
Não posso dar um "echo" em código html, tipo ( $a = "<td></td>"; ).
Preciso de algo igual ou parecido com o exemplo acima...É possível?
>
Não entendi nada do que você quer.
Mas você pode dar um echo em um HTML sim.
Explica melhor o que você quer.
Eu sei que posso da "echo" em html...
Mais preciso para uma situação especifica,
como no exemplo que eu dei acima, sem "echo"
em código html.
Preciso que isso:
<table width="150" border="1">
<tr>
<td>nome do campo</td>
</tr>
<?php $sql = mysql_query("select campo from tabela");
while ($linha = mysql_fetch_array($sql)) { ?>
<tr>
<td><?php echo "". $linha['campo'] .""; ?></td>
</tr>
<?php } ?>
</table>
Vire isso:
<table width="150" border="1">
<tr>
<td>nome do campo</td>
</tr>
<?php echo $a; ?>
<tr>
<td><?php echo $b; ?></td>
</tr>
<?php echo $c; ?>
</table>Ainda não estou entendendo.
Você quer separar a parte lógica da parte visual?
>
Ainda não estou entendendo.
Você quer separar a parte lógica da parte visual?
Não, não, quero apenas transformar o exemplo1
no exemplo2...É possível?
Você está tratando um número N de informações, dessa forma fica difícil tentar manipular o retorno (neste caso, desconecido).
Eu raramente faço dessa maneira.
Existem possibilidades, por exemplo:
$arr = array();
$sql = mysql_query("select campo from tabela");
while ($linha = mysql_fetch_array($sql)) {
$arr[] = $linha;
}
Você pode, então, tratar da maneira que quiser os dados já guardados, sem precisar imprimí-los na tela logo na recuperação deles e perdê-los depois do retorno:
<tr>
<td><?php echo $arr[0]['linha']; ?></td>
<td><?php echo $arr[3]['outraColuna']; ?></td>
</tr>
Mas mesmo assim, ainda não está clara a sua idéia.
>
Você está tratando um número N de informações, dessa forma fica difícil tentar manipular o retorno (neste caso, desconecido).
Eu raramente faço dessa maneira.
Existem possibilidades, por exemplo:
$arr = array();
$sql = mysql_query("select campo from tabela");
while ($linha = mysql_fetch_array($sql)) {
$arr[] = $linha;
}
Você pode, então, tratar da maneira que quiser os dados já guardados, sem precisar imprimí-los na tela logo na recuperação deles e perdê-los depois do retorno:
<tr>
<td><?php echo $arr[0]['linha']; ?></td>
<td><?php echo $arr[3]['outraColuna']; ?></td>
</tr>
Mas mesmo assim, ainda não está clara a sua idéia.
Não estou com problemas com os dados que vem do banco...
Eu apenas quero transformar essa parte:
<?php $sql = mysql_query("select campo from tabela");
while ($linha = mysql_fetch_array($sql)) { ?>
em:
Uma string, por exemplo "$a".
e isso:
<?php } ?>
em outra string, por exemplo "$c".
Preciso que o html se repita em quanto ouver
valores no banco sem dar ("echo <table>"; ).
O meu primeiro exemplo funciona perfeitamente...
E eu não dou nenhum echo em código html...
Quero o mesmo resultado de uma forma diferente...
Substituindo parte do código por uma string...
Não entendi nada do que você quer.
Mas você pode dar um echo em um HTML sim.
Explica melhor o que você quer.