Jump to content
markhosbh

Transformar Array em tabela

Recommended Posts

Prezados, boa tarde!

 

Estou tendo dificuldades para transformar um retorno WebService em uma tabela HTML.

A minha dificuldade está na seguinte condição, se fosse cabeçalho fixo bastava eu utilizar o foreach para percorrer o array e estava ok.

Porém, a quantidade de campos do array de retorno não é fixo, aí que se encontra minha dificuldade, como fazer para ler e imprimir o cabeçalho e o conteúdo da tabela, sendo que essas informações podem variar.

 

Exemplo:

 

Requisição: 

SELECT 
	A1_COD, A1_NOME, TIPO 
FROM USUARIO

 

Retorno:

[ {"A1_COD":"0093","A1_NOME":"JOAO","TIPO":"TITULAR"}, {"A1_COD":"0016","A1_NOME":"ABELARDO","TIPO":"TITULAR"}, {"A1_COD":"8586","A1_NOME":"ADRIANA","TIPO":"TITULAR"} ]

 

Array:

 Array
(
    [0] => Array
        (
            [A1_COD] => 0093
            [A1_NOME] => JOAO
            [TIPO] => TITULAR
        )

    [1] => Array
        (
            [A1_COD] => 0016
            [A1_NOME] => ABELARDO
            [TIPO] => TITULAR
        )

    [2] => Array
        (
            [A1_COD] => 8586
            [A1_NOME] => ADRIANA
            [TIPO] => TITULAR
        )

)

Quero que seja impresso em uma tabela html

 

A1_COD	A1_NOME		TIPO
0093	JOAO		TITULAR
0016	ABELARDO	TITULAR
8586	ADRIANA		TITULAR

 

Mas como informado o cabeçalho poderia variar, sendo a requisição por exemplo ser:

 

SELECT * FROM USUARIO

 

Desde então agradeço.

Share this post


Link to post
Share on other sites

Cara não sei exatamente se compreendi seu problema, então vou postar um código aqui se funcionar você usa se não descarta. 

<?php
print'<fieldset><legend>Resultados</legend>';
print "<table  border=1 bordercolor=black><tr><td> CÓDIGO </td><td>NOME</td><td>TIPO</td></tr>";   

$select = "A1_COD, A1_NOME, TIPO FROM USUARIO";
$busca = mysqli_query($select, $conexao);
while ($dados= mysqli_fetch_array($busca)) {

$codigo = $dados['A1_COD'];
$nome = $dados['A1_NOME'];
$tipo = $dados ['TIPO'];
 
 print "<tr><td>".$codigo."</td><td>".$nome."</td><td>".$tipo."</td></tr>";

}
print'</table>';
print'</fieldset>';


?>

 

Share this post


Link to post
Share on other sites

@MAKAVELIQUE, ai que está, desta forma quando sei quantas colunas serão retornadas, eu também conseguia responder, no caso eu preciso de um código que faça a leitura do retorno como se fosse por exemplo "SELECT * FROM DUAL" onde neste caso não tem como saber quantas colunas serão retornadas, na solução que você retornou você sabia que as colunas eram A1_COD, A1_NOME, TIPO.

Ficou mais clara a explicação?

Share this post


Link to post
Share on other sites

Acredito que sim caro markhosbh,  pode-se resolver seu problema de várias maneiras e cada programador irá resolver de uma forma diferente, a solução que talvez  usaria é:  poxa meus campos na tabela não são infinitos e sei quantos são, poderia criar ali condições com array para o select de acordo com o que já sei, sacou a parada? 

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 Sapinn
      Tô fazendo esse forum pq não achei nada que me ajudasse. Tenho um site em que os professores dão temas para as usuarios produzirem textos, basicamente um site de historias. Preciso que o aluno saiba se ja fez um texto sobre aquele determinado tema. Sendo assim tenho duas tabelas no meu banco usuario que cadastra todos os usarios e historia que tem o tema. Quando o aluno vai enviar a historia automaticamente envia seu email. O que eu realmente quero é comparar se o email existe nas duas tabelas se sim ele retorna já foi feito se não ele retorna Nada feito ainda.
    • By _FelipeOlvr
      Oi pessoal, blz?
       
      Bom, passei quase a tarde toda pra fazer o seguinte:
       
      Imagina que o body tem scroll Y.
      agora imagina que no meio do body tem um elemento que tem scroll no sentido X ( <--------> ).
       
      Minha dúvida é a seguinte: Como eu faço pra que, quando eu colocar o mouse em cima desse elemento que sofre scroll no sentido X, o scroll passe a acontecer nele, e não mais no body.
       
      ( Eu sei que se segurar o SHIFT e girar a rodinha do mouse, o scroll acontece somente nele. Mas eu queria tentar isso, pra dar um trabalho a menos pro usuário )
       
      Fiz um layout básico pra simular o layout em que quero fazer isso. Segue:
       
      <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title> JS | Scroll </title> <style> body { min-height: 200vh ; display: flex ; flex-direction: column ; justify-content: center ; } .container-scroll-x { background-color: rgb(219, 237, 240) ; padding: 50px ; } .content { background-color: rgb(127, 189, 207) ; overflow-x: auto ; white-space: nowrap ; padding: 30px ; } </style> </head> <body> <div class="container-scroll-x"> <div class="content"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laborum, labore quam voluptate neque quod possimus ab nemo odio hic porro ut, officiis qui fuga cumque explicabo, placeat in temporibus. </div> </div> </body> </html> Desde já agradeço a ajuda.
       
       
    • By Kellyfer
      Ola estou tentando publicar imagens multilas usando o comando FOR mas nao estou acertando, alguem poderia me ajudar??
      /*script*/
      <?php 
      date_default_timezone_set('America/Sao_Paulo');
      session_start();?> 
      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
          <meta charset="utf-8">
          <title>Upload de Imagens</title>
      </head>
      <body>
      <!--FORMULÁRIOS-->
      <form action="upload.php" method="post" enctype="multipart/form-data">
          <input type="file" name="arquivos[]" multiple required>
          <input type="submit" value="Publicar">
      </form>
      <p>
      <?php 
      if(isset($_SESSION['erro'])):
          echo $_SESSION['erro'];
          session_unset();
      elseif(isset($_SESSION['sucesso'])):
          echo $_SESSION['sucesso'];
          session_unset();
      endif;
      ?>
      </p>
      <?php 
      /*MOSTRANDO AS IMAGENS NA TELA*/
      $utf8 = header("content-type:text/html;charset= utf-8");
      $conn = new mysqli('localhost','thesim','xthesimx1986','db_galeria');
      $conn->set_charset("utf8");
      $busca_image = "SELECT id, nome_arquivo FROM tb_upload  ORDER BY id DESC";
      $res = mysqli_query($conn, $busca_image);
       if(mysqli_num_rows($res) <= '0'){
           echo "Nenuma imagem encontrada!";
       }else{
           while($res_pos =mysqli_fetch_array($res)){
               $nome_arquivo    =$res_pos[0];
      for($c=0; $c>=10; $c++);
      print "<div class='foto'><img src='uploads/$nome_arquivo$c</div>";
      }
      }
      ?>
      </body>
      </html>
      Imagens anexadas



    • By tatysouzac
      Minha view:
      <div>                            
                                          <form method="post" action="http://localhost/integradorcode/index.php/welcome/validar">
                                          EMAIL: <input type="text" name="email"  /> <br><br>
                                          SENHA:  <input type="password" name="senha"/> <br><br><br><br>
                                          <input class="myButton" type="submit" value="Entrar"/> <br><br>
                                          </form>
                                          <a href="Cadastro.php" class="myButton">Cadastrar</a><br><br>
                                          <a href="#" class="myButton">Esqueceu sua senha?</a>
               </div>
       
       
       
      Controller:
       
          public function validar(){
              //var_dump($_POST);
              $this->load->model("Cadastro_model");
              $result = $this->Cadastro_model->validar($_POST["email"],md5($_POST["senha"]));
              var_dump($result);
          }
       
       
      Model:
       
          function validar($email, $senha){
              return $this->db->query("SELECT * FROM `cadastro_clientes` WHERE email_cliente = '{$email}'  AND senha_cliente = '{$senha}' AND status = 1 LIMIT 1")->result_array();
          }
       
       
      Não da nenhuma mensagem de erro mas coloco senha e login certos do meu bd e o return não retorna nada array 0 
×

Important Information

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