Ir para conteúdo
Fórum Script Brasil
  • 0

while dentro de select


Guest --carlos12 --

Pergunta

Guest --carlos12 --

Pessoal preciso trazer uns dados de um determinado compo da tabela pra dentro do select

<td align="left"><select name="interesse" id="interesse">
<?php
while($z = mysql_fetch_array($b)){
?>
<option value="$z"><?=$z?></option>
</select>
<?php
}
?>
</td>

ele retorna a palavra ARRAY dentro do select como posso resolver isso?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

$z é um array, você precisa especificar que índice do array vai pegar... se por exemplo o nome da coluna for teste, então ficaria:

<option value="<?php echo $z['teste'];?>"><?php echo $z['teste'];?></option>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Ok entendi ai fiz desse jeito

<td align="left"><select name="interesse" id="interesse">

<?php

while($z = mysql_fetch_array($b)){

?>

<option value="<?=$z['interesse']?>"><?=$z['interesse']?></option>

</select>

<?php

}

?>

</td>

mas no fim de tudo o primeiro campo fica dentro da combobox e os demais ficam soltos do lado de fora

Link para o comentário
Compartilhar em outros sites

  • 0

Só uma "dica" de formatação.

<td align="left"><select name="interesse" id="interesse">
<?php
while($z = mysql_fetch_array($b)) {
    echo "<option value=\"$z['interesse']\" $z['interesse']</option>";
}
echo "</select></td>";
?>

Eu sei que todo mundo programa do jeito que quer e como achar melhor, porém, acho que caso você fosse passar esse código para alguém, fosse BEM difícil de ler.

Ah, também coloquei o que o ESerra "pediu".

Abraços.

Editado por Durubi
Link para o comentário
Compartilhar em outros sites

  • 0
Só uma "dica" de formatação.

<td align="left"><select name="interesse" id="interesse">
<?php
while($z = mysql_fetch_array($b)) {
    echo "<option value=\"$z['interesse']\" $z['interesse']</option>";
}
echo "</select></td>";
?>
Eu sei que todo mundo programa do jeito que quer e como achar melhor, porém, acho que caso você fosse passar esse código para alguém, fosse BEM difícil de ler. Ah, também coloquei o que o ESerra "pediu". Abraços.
Ou assim (eu prefiro):
<td align="left"><select name="interesse" id="interesse">
<?php while($z = mysql_fetch_array($b)) : ?>
    <option value="<?=$z['interesse']?>"><?=$z['interesse']?></option>
<?php endwhile; ?>
</select></td>;
?>
Eu sugiro que você dê um print_r($seu_array) toda vez que for trabalhar com arrays. Normalmente, quando dados vêm do banco, é necessário usar foreach para imprimir os dados do banco, pois eles vêm em arrays bidimensionais. Exemplo:
<?php

$dados = array(
    0 => array(
        'id'            => 1,
        'nome'            => 'João da Silva',
        'nascimento'    => '27/10/1984'
    ),
    1 => array(
        'id'            => 2,
        'nome'            => 'Maria da Silva',
        'nascimento'    => '30/06/1963'
    ),
    2 => array(
        'id'            => 3,
        'nome'            => 'Manuel Jacinto',
        'nascimento'    => '01/02/1903'
    )
);

foreach($dados as $pessoa) {
    foreach($pessoa as $indice => $valor) {
        echo '<strong>', $indice, '</strong>: ', $valor, '<br />';
    }
}

?>
Seria impresso assim:
id: 1
nome: João da Silva
nascimento: 27/10/1984
id: 2
nome: Maria da Silva
nascimento: 30/06/1963
id: 3
nome: Manuel Jacinto
nascimento: 01/02/1903

Espero que tenha compreendido.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...