Jump to content
jeff890

[Resolvido] Exibir resultado de um select sem precisr saber o nome das colunas

Recommended Posts

Boa tarde pessoal.


Estou precisando exibir na table, em forma de tabela, os resultado que uma query me retorna. O problema é que tenho que fazer isso de forma dinâmica, sem precisar acessar o nome das colunas da query. Quero que exiba os resultados automaticamente. Preciso exibir exatamente como o phpmyadmin exibe quando fazemos um query por la.

 

Fiz assim (USANDO PDO)

 

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){                                
                foreach($row as $field => $value){                                                      
                     echo $field.": ".$value."<br>";
                }                
}    

O problema é que dessa forma ele exibe o conteúdo em $field várias vezes. 

 

Por exemplo:

Da forma acima, é exibido assim:

NOME | CPF | CURSO

XXX | VVV | AAAA

NOME | CPF | CURSO

YY | BBB | DFAA

NOME | CPF | CURSO

YY | BBB | DFAA

 

E assim sucessivamente, enquanto tiver resultados da query

 

Mas preciso que fique assim:

NOME | CPF | CURSO

XXX | VVV | AAAA

]YY | BBB | DFAA

YY | BBB | DFAA

 

Entenderam?

Share this post


Link to post
Share on other sites

Use a lógica.

Se seu comando foi imprimir campo e valores, mande imprimir o campo só 1 vez, e nas vezes seguintes, só os valores.

Share this post


Link to post
Share on other sites

Obrigado pela ajuda. Mas realmente não sei como fazer isso.

 

Tentei fazer assim: 

 

foreach ($row as $key => $values){
			   echo $key."\n"; 
		        	foreach ($values as $cell){
			           echo $cell."\n";
			        }
			}	

Mas dá ero pq não tenho valores para percorrer no segundo foreach

Share this post


Link to post
Share on other sites

Segue Exemplo:

 

CÓDIGO

<?php

# SIMPLE CONN
$foo = new PDO (
	'mysql:host=localhost;dbname=data_n', 
	'root', 
	''
);

# QUERY
$select = $foo->prepare ( 'SELECT * FROM table_n' );
$select->execute ();

# DISPLAY
$thead = false;

echo "<table class=\"table\" border=\"1\">";

	while ( $row = $select->fetch ( PDO::FETCH_ASSOC ) ) {
		if ( $thead === false ) {
			$thead = true;

			echo "<tr>";
				foreach ( $row as $key => $value ) {
					echo "<th>{$key}</th>";
				}
			echo "</tr>";
		}

		echo "<tr>";
			foreach ( $row as $value ) {
				echo "
					<td>{$value}</td>
				";
			}
		echo "</tr>";
	}

echo "</table>";

 

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 winter2018
      Boa tarde galera. Como vão?
       
      Preciso de uma ajuda aqui por favor
      Estou a desenvolver um sistema de gestão de estagiários.
       
      Eu preciso ter as seguintes funcionalidades:
      1-O sistema deve ter um painel / portal do próprio estagiario aonde ele vai poder aceder os seus dados, e edita-los
      . 2- O estagiarios  pode anexar os seus documentos e actualizar a sua foto.
      3- Deve ser possível o admin enviar informações ou ficheiros para todos estagiarios 
      estou com dificuldade em implementar essas funcionalidades.
       
      Alguem ajuda por favor?
       
      Winter2018
       
       
       
    • By Fabio Montilla
      Meus caros, bom dia!
       
      Estou tendo o seguinte problema no meu projetox em php:
      Criei um projeto com Composer no php onde coloquei o php para ouvir a pasta public pelo prompt de comando. Porém, quando subo o projeto para o site ou para o htdocs do xampp, o resultado da exibição do index (dominio/projetox/public) é branco. Não exibe nada nem nenhum warning. Rodando com o servidor php via prompt ouvindo direto na pasta public o projeto roda normalmente.
      A estrutura do projeto é essa (tem uma imagem anexada também):
      projeto x -App -Controller (pasta com os controllers) -Model (pasta com os models) -View (pasta com as views) -Connection (Classe de conexão com o banco) -Route (Classe que gerencia as rotas acessadas no navegador e instancia os controllers necessários) -public -.htaccess -index.php (Página de início da aplicação que instancia a classe Route para determinar o fluxo da aplicação) -vendor -composer (pasta com os arquivos do composer) -autoload.php composer.json composer.lock composer.phar Quando incluo arquivos na pasta public e acesso diretamente, o arquivo funciona normalmente. Ou seja, o servidor está ouvindo todas as pastas.
       
      Poderiam me ajudar nessa questão? Se tenho que configurar algo no servidor ou no meu projeto? Sou novato no PHP e agradeceria demais a ajuda de vocês.
      Desde já, sou grato!

    • By makinh0
      algoritmo "CalculoIMC"
      var
         M, A, IMC: Real
      iniciO
          Escreva ("Massa (Kg): ")
          Leia(M)
          Escreva("Altura (m): ")
          Leia (A)
          IMC <- M / (A ^ 2) //massa dividido pela altura ao quadrado;;//
          Escreval("IMC: ", IMC :5:2) //5Casas e 2 decimais //
          Se (IMC >= 18.5) E (IMC < 25) entao
          Escreva ("Parabens! Voce esta no seu peso ideal")
          senao
          Escreva("Voce nao esta na faixa de peso ideal")
          FimSe
          
      fimalgoritmo
       
    • By tarsio
      Boa noite pessoa so novo na programação e gostaria de saber, porque meu tempo limite de consulta está no limite, esse e um pedaço do código fora esse tenho mais 14 query então só 8 funcionam e gostaria de saber alguma maneira para que todas a consultas funcionem. Colocando botoes de alguma maneira resolver esse problema.    <div class="panel-group" id="accordion"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> <a data-toggle="collapse" data-parent="#accordion" href="#collapse9"><h2>cliente<h2></a>
      </h3> </div> <div id="collapse9" class="panel-collapse collapse"> <div> <?php try{   $query7= $Conexao->query( " SELECT C.FTP_CLIENTE,dbo.MinutesToDuration2021(SUM(DATEDIFF(MINUTE,E.DT_ENVIADO,E.DT_RECEBIDO)),COUNT(E.ID_EXAME)) as TEMPO FROM WR_CLIENTE C INNER JOIN E ON  =  WHERE  = 2 AND (convert(datetime,'$datai',110)) AND (convert(datetime,'$dataf',110)) GROUP BY E ORDER BYE ASC;");   $exs7 = $query7->fetchAll();   }catch(Exception $e){ echo $e->getMessage(); exit; }   ?> <br> <br> <table id="table11" data-toggle="table" class="table table-hover" data-sort-name="FTP_CLIENTE" data-sort-name="TEMPO"> <thead> <tr> <th data-field="FTP_CLIENTE" data-sortable="true" scope="row">CLIENTE</th> <th data-field="TEMPO" data-sortable="true" scope="row">TEMPO</th> </tr> </thead> <tbody> <!---carregar os refistro --> <?php foreach($exs7 as $ex) { ?> <tr>   <td><?php echo $ex['FTP_CLIENTE'];?></td> <td><?php echo $ex['TEMPO'];?></td> </tr> <button class="mais">Carregar mais</button> <?php } ?> </tbody> </table> </div> </div> </div> </div>   </div>
    • By Adriana de Luca
      Estou tentando pegar o id do livro para depois fazer um update para controlar o estoque, consegui pegar o id, porem não consigo coloca-lo no mysql
      Se coloco um id valido, ele traz as informações, porem se chamo  {'$livro_id'} da erro.
       
      Alguém pode por favor me ajudar? agradeço muito.
       
      <?php

      $query = mysql_query("SELECT * FROM produtos 
      inner join estoque ON produtos.livro_id = estoque.livro_id");

      ?>
      <div class="central">
                     <form action="#" method="GET">
                         <fieldset>
                             <legend class="titulo">Consultar Livraria</legend>
                             <select type="text" name="produtos">
                                 <option value="">Selecionar..</option>
                              <?php
                                     $sql =  mysql_query("SELECT livro_id, nome as titulo FROM produtos");
                                      while ($result = mysql_fetch_array($sql) )
                                      {
                                         echo "<option value='".$result['livro_id']."'>".$result['titulo']."</option>";
                                     }
                                 ?>                            
                             </select>
                             <input class="botao" type="submit" name="ajustar" value="Ok" />
                         </fieldset>
                      </form>
                     
       <?php
      //aqui ele mostrara o código do livro    
      echo $_GET['produtos'];
      $livro_id='produtos';

      $sql1="SELECT * FROM produtos 
      inner join estoque ON produtos.livro_id = estoque.livro_id WHERE produtos.livro_id= {'$livro_id'}";
            
      $res=mysql_query($sql1); 
                    while($registro=mysql_fetch_row($res))                
      {    
                                            
        $nome=$registro[1];                             
        $autor=$registro[2]; 
        $editora=$registro[3]; 
        $colecao=$registro[4];                             
        $preco=$registro[5];                                   
        $data=$registro[6];   
        $quantidade=$registro[0];                      
                                           
        ?>
        <?php 
            echo "Título: $nome<br>";                                    
            echo "Autor: $autor<br>"; 
            echo "Editora: $editora<br>";  
            echo "Coleção: $colecao<br>";                             
            echo "Preço: $preco<br>";                                    
            echo "Quantidade: $quantidade<br>"; 
            echo "Data: ".date('d-m-Y', strtotime($data))."<br><p>";   

        mysql_close($connect);               
              
      ?>
×

Important Information

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