Ir para conteúdo
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

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

  • 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.