Ir ao conteúdo
  • Cadastre-se
Marcos A.A

PHP Erro no select PHP,WHILE.

Recommended Posts

Não estou entendo porque esta dando este erro, no inspecionar aparece os options so que no site n aparece.

<div class="col s12 m4 center-align destaque-home" style="height: 30px;">
				
  <select name="categoria">
    <option value="" disabled selected>Selecione uma categoria</option>
    <?php
    $query = $con->query("SELECT id, titulo FROM categoria");

    while($linha = $query->fetch(PDO::FETCH_OBJ)){

    ?>
    <option value="<?=$linha->id?>" <?=($linha->id == $categoria_id) ? 'selected' : '' ;?>><?=$linha->titulo?>								</option>
    <?php
    }
    ?>
  </select>
  <label>Categoria</label>

</div>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcos A.A Você precisa adicionar o " echo " nas variáveis que devem ser impressas na tela.

 

Experimente:

 <?php
    $query = $con->query("SELECT id, titulo FROM categoria");

    while($linha = $query->fetch(PDO::FETCH_OBJ)):
       echo "<option value='$linha->id' ($linha->id == $categoria_id) ? 'selected' : '';>$linha->titulo</option>";
    endwhile;
    ?>

No caso, o erro era só de echo nas variáveis, mas evite de ficar abrindo  e fechando tags do php. tente colocar toda a linha do option dentro do echo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas mesmo assim ele não abre as opções pode ser algum erro no html?

 

<div class="col s12 m4 center-align destaque-home">
  <select name="categoria">
    <option value="" disabled selected>Selecione uma categoria</option>
    <?php
        $query = $con->query("SELECT id, titulo FROM categoria");

        while($linha = $query->fetch(PDO::FETCH_OBJ)):
        echo "<option value='$linha->id' ($linha->id == $categoria_id) ? 'selected' : '';>$linha->titulo</option>";
        endwhile;
       ?>
  </select>
  <label>Categoria</label>

</div>

 

Screenshot_4.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcos A.A Experimente tirar aquele teste de IF ternário.

 

echo "<option value='$linha->id'>$linha->titulo</option>";

O HTML não causa erro. O lance é no PHP.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×