Jump to content
Kliemann

Erro ao gerar um menu select

Recommended Posts

Opa pessoal, peço desculpas se a pergunta for tosca, ou o código não ter sentido.

 

Estou começando no PHP e estou com uma duvida de um menu de select.

 

 

Segue o código.

<select name="setor">
                            <?php
                             $link = new mysqli('localhost','root','','db_chamados'); 
                             $result_setor= "SELECT id_setor,nome_setor FROM tb_setores";
                             $resultado_setor = mysqli_query($conn,$result_setor);
                             while($row_setores = mysqli_fetch_assoc($resultado_setor))
                              ?>
                             <option value="<?php echo $row_setores['id_setor']; ?>">
                                 <?php echo $row_setores['nome_setor']; ?>
                             </option>
                            ?>
                             </select>

Alguem consegue me ajudar sobre? ele abre a janela mas não puxa os dados do meu banco.

Share this post


Link to post
Share on other sites

Segue exemplo corrigido, mas precisa estudar sobre MySQLi, forma procedural e Orientada a Objetos, você está misturando-as. 

 

Tem diversos exemplos, veja em: https://www.php.net/manual/pt_BR/book.mysqli.php

<html>
<head>
    <title>Popular Select</title>
</head>
<body>

<?php
    $link = new mysqli('localhost', 'root', '', 'db_chamados');
    $result_setor = 'SELECT id_setor, nome_setor FROM tb_setores';
    $resultado_setor = $link->query($result_setor, MYSQLI_USE_RESULT);
?>

<select>
    <?php

        while ($row = $resultado_setor->fetch_array()) {
            $id = $row['id_setor'];
            $nome_setor = $row['nome_setor'];
    ?>

        <option value="<?php echo $id; ?>"><?php echo $nome_setor; ?></option>

    <?php
        }
    ?>

</select>

</body>
</html>

 

Share this post


Link to post
Share on other sites
15 horas atrás, marcosmarcolin disse:

Segue exemplo corrigido, mas precisa estudar sobre MySQLi, forma procedural e Orientada a Objetos, você está misturando-as. 

 

Tem diversos exemplos, veja em: https://www.php.net/manual/pt_BR/book.mysqli.php


<html>
<head>
    <title>Popular Select</title>
</head>
<body>

<?php
    $link = new mysqli('localhost', 'root', '', 'db_chamados');
    $result_setor = 'SELECT id_setor, nome_setor FROM tb_setores';
    $resultado_setor = $link->query($result_setor, MYSQLI_USE_RESULT);
?>

<select>
    <?php

        while ($row = $resultado_setor->fetch_array()) {
            $id = $row['id_setor'];
            $nome_setor = $row['nome_setor'];
    ?>

        <option value="<?php echo $id; ?>"><?php echo $nome_setor; ?></option>

    <?php
        }
    ?>

</select>

</body>
</html>

 

 

Share this post


Link to post
Share on other sites

Então, vou estudar mais sobre,

 

Referente ao código, deixei da seguinte maneira:

 

  <div class="input-field col s12">
                        <i class="material-icons prefix">more_vert</i>
                        <label for="setor">Setor</label> 

                        <?php   
                            $link = new mysqli('localhost', 'root', '', 'db_chamados');
                            $result_setor = 'SELECT id_setor, nome_setor FROM tb_setores';
                            $resultado_setor = $link->query($result_setor, MYSQLI_USE_RESULT);
                        ?>   

                        <select>
                            <?php
                                while ($row = $resultado_setor->fetch_array()){
                                $id = $row['id_setor'];
                                $nome_setor = $row['nome_setor'];
                            ?>
                             <option> value="<?php echo $id; ?>"><?php echo $nome_setor; ?></option>
                            <?php
                                }
                            ?>


                        </select>
                    </div>    

Porem trás o erro:

 

Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\chamados\index.php on line 43

 

Que seria na linha:

 

       $id = $row['id_setor'];

Share this post


Link to post
Share on other sites

Aparentemente não tem erro, mas percebi que tem um espaço no while, aí fica while   quando deveria ser apenas while e o PHP entende como erro.

Talvez tenha copiado com os espaços, verifica aí.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By FabianoSouza
      Estou usando SQL dinâmico num select. Até aqui tudo bem. Funciona.
       
      Agora preciso pegar alguns campos desse select e passar para variáveis.
      Na forma normal seria assim (isso funciona)
      SELECT @checkAcesso = COUNT(*), @contAcesso = campo2 FROM tab ... Estou tentando adaptar para conseguir isso acima, mas num SELECT dinâmico. Mas sem sucesso.
      SET @sql = 'SELECT ' SET @sql = @sql + @variavel + '= T.meuCampo ' SET @sql = @sql + ' FROM tabela AS T ' EXEC(@sql) Dessa forma simplesmente não exibe nada.
       
      Help!
    • By Wanderson Moreira
      bom dia, 

      preciso fazer um select e verificar se o ID do usuário logado existe em em uma coluna do banco de dados
      por exemplo

      ID Usuario: 6
      coluna do banco: 1, 3, 5, 16
       
      O problema é que se eu fizer o select com LIKE ele considera o numero 16 como 1 e 6 invés de considerar um numero só, com isso o usuário 6 acaba sendo incluso no select indevidamente
       
      alguém poderia me ajudar?
    • By neto_celino
      Estou usando o seguinte código para somar um SELECT, mas cheguei em um determinado ponto que travei.
       
      Tenho 400 registros na DB e tenho que somar alguns registros somente. Ou seja, somar o (valortotal) de alguns ID's somente. 
      É possivel e por onde vou ? rs.
      <?php $subtotal = "SELECT SUM(valortotal) from tbl_compras WHERE id = VariosIdAqui"; $resultado = mysql_query($subtotal); $registro = mysql_fetch_row($resultado); echo number_format($registro[0], 2, ',', ' ') ;  ?>      
    • By Giovanird
      Olá amigos!
      Tenha a seguinte estrutura no banco MySQL
      COD   |   PONTOX  |  PONTOY  |  ATLETAX       |  ATLETAY
      1         |   0               |  1               |  Maria              |  João
      2         |   2               |  0               |  João               |  Maria
      3         |   0               |  2               |  Maria              |  João
      4         |   7               |  5               |  Maria              |  João
      5         |   0               |  3               |  João               |  Maria
      6         |   2               |  1               |  João               |  Maria
      7         |   0               |  6               |  Maria              |  João
      8         |   4               |  0               |  João               |  Maria
       
      Preciso de ajuda para somar quantos pontos fez o atleta João nos últimos 5 torneios (COD 8, 7, 6, 5 e 4)  Há momento que o João jogou em X e outro momento em Y.
      Abaixo segue meu Select, onde a soma dos pontos deve ser 17.
       
      nomeatleta = "João"
      Set soma= banco.execute("SELECT sum(PONTOX ) AS somax,  sum(PONTOY ) AS somay FROM (select cod, pontox, pontoy, atletax, atletay  from torneios where (atletax like '"&nomeatleta&"' or atletay like '"&nomeatleta&"') order by cod desc limit 5) AS temp")
       
    • By Marcones Borges
      Olá, bom dia, estou tendo dificuldade em uma filtragem, quando passo o parâmetro para o select em forma de variável ele não exibe resultados.
       
      Segue o código:

              $usuario='gerente';         function montaSelect()         {         $sql = "SELECT * FROM membros WHERE user='".$usuario."' ";                 $query = mysql_query( $sql );                 if( mysql_num_rows( $query ) > 0 )                 {                         while( $dados = mysql_fetch_assoc( $query ) )                         {                                 $opt .= '<option value="'.$dados['nome'].'">'.$dados['nome'].'</option>';                         }                 }                 else                         $opt = '<option value="0">Nenhum Membro cadastrado</option>';                 return $opt;         }


      Quando substituo a variável pelo nome usuário gerente, ele lista normal, mais na variável não da certo. já tentei user='{$usuario}'  , user='$usuario' , user=$usuario}, nenhuma forma funciona...

      Alguém pode me ajudar..
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.