Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EowElysion

Não estou a conseguir chamar as duas colunas com o PHP

Recommended Posts

Bom dia, sou relativamente nova nesta área da programação e estou a criar este formulário com 2 campos de preenchimento "Select", só que só um deles é que está a funcionar e no outro não aparece os dados que estão inseridos na coluna ... o que é que estou a fazer de errado no PHP ? Desde já fico grata pela ajuda.

 

 

codigo.png

internet.png

posto.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

EowElysion

Existe um erro na sua lógica.

 

Primeiro que o seu </select> esta dentro do seu LAÇO, dentro do DO e pode acontecer de fechar logo no primeiro.

Segundo que você esta usando o mesmo comando de SELECT que realizou no primeiro caso, então o que acontece é que ao final do seu primeiro DO {} While o seu "CURSOR" não tem mais registro porque ele leu sua tabela do começo ao fim. quando ele entra no seu SEGUNDO LAÇO ele não tem valor no POSTO e você usa o mesma leitura para um CURSOR já no FIM.

 

A diferença do DO e do WHILE é que o DO ele vai fazer 1 vez o comando que esta dentro, já o WHILE ele faz se a condição for verdade, então troque o seu DO {} WHile por apenas WHILE assim:


<?php

while ($fetchTA=mysqli_fetch_assoc($queryTA)) {
    echo "<option>".$fetchTA['Servico']."</option>";
};

?>


<?php

while ($fetchTB=mysqli_fetch_assoc($queryTB)) {
    echo "<option>".$fetchTB['Posto']."</option>";
};

?>

 

E a outra dica que eu dou é você "zerar o seu" mysqli_fetch_assoc($queryTA) realimentando o $queryTA com $queryTB

 

Veja se o código abaixo resolve o seu problema:

Obs.: Troque o "sua_tabela" pelo nome da sua tabela.

<?php
//Vamos buscar apenas o serviço ordenado pelo número do posto.
    $queryTA = "SELECT Servico FROM sua_tabela ORDER BY Posto ASC";
?>
<div class="col-md-2 mb-2 md-form">
    <label for="validationCustom022" name="Numero">Serviço</label>
    <select class=" browser-default custom-select">
<?php
      //Ele só ira entrar no LAÇO se encontrar registro.
      while ($fetchTA=mysqli_fetch_assoc($queryTA)) {
    echo "<option>".$fetchTA['Servico']."</option>";
}; ?>
    </select>
</div>
<?php
//Vamos buscar apenas o posto ordenado pelo número do posto
//para que a ordem apresentada fiquei como a sua tabela.
    $queryTB = "SELECT Posto FROM sua_tabela ORDER BY Posto ASC";
?>

<div class="col-md-2 mb-2 md-form">
    <label for="validationCustom022" name="Numero">Posto</label>
    <select class=" browser-default custom-select">
<?php
      //Ele só ira entrar no LAÇO se encontrar registro.
      while ($fetchTB=mysqli_fetch_assoc($queryTB)) {
    echo "<option>".$fetchTB['Posto']."</option>";
}; ?>
    </select>
</div>

 

Se a minha resposta for útil não esqueça de agradecer e votar positivo.

Espero ter ajudado de alguma forma.

 

Att
Felipe Guedes Coutinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por EowElysion
      Sou relativamente nova nisto, criei uma tabela com um valor do tipo Null e cria agora criar uma visualização dessa tabela, ela mostra todos os dados já inseridos menos aqueles em que as linhas têm o campo de tipo null por preencher, como faço para na visualização também aparecerem as linhas que contêm o valor Null ? 
      Este foi o código que eu fiz para criar a visualização:
      Desde já fico grata a todos os que ajudarem. 

      SELECT rgpd.id AS IdRgpd, utentes.nome AS NomeMenor, ees.nome AS NomeEncarregado, ees.nif, ees.Email, Telemovel, autorizacao, users.Nome AS NomeUsuario
      FROM ees, utentes, autorizado, rgpd, users
      WHERE utentes.id = Idautorizado
      AND users.id = rgpd.IdUser
      AND ees.id = rgpd.IdEE
      AND autorizado.id = rgpd.IdAutorizacao
       
    • Por tiagolso
      estou com um problema, uso o app server 2.5.10 com o seguinte código e ele funciona normal
       
      <?php date_default_timezone_set('America/Sao_Paulo'); include('_conf/confCabal.php'); $ckConfigSite = mssql_fetch_array(@mssql_query("SELECT * FROM ".DB_ACC.".dbo.SITE_CONFIG")); $rkCount = mssql_fetch_array(@mssql_query("select count(*) from ".DB_ACC.".dbo.cabal_auth_table where Ativado=1")); $rkChars = mssql_fetch_array(@mssql_query("select count(*) from ".DB_GAM.".dbo.cabal_character_table")); $rkGuildT = mssql_fetch_array(@mssql_query("select count(*) from ".DB_GAM.".dbo.Guild")); session_start(); ob_start(); ?> funciona normalmente, o problema acontece quando eu tento colocar isso dai na hospedagem linux que eu tenho, não carrega, fica em branco a página, já agradeço a ajuda desde já
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.