Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Far visualizzare i dati di una tabella di cui non si conosce la struttura

    Ciao a tutti,
    Sto cercando di far visualizzare i dati, di una tabella, di cui non sò la sua struttura in quanto è stata creata da terzi.

    Per ora sono riuscito a recuperare la struttura della tabella e i record che la compongono ma non riesco a far visualizzare il tutto in modo decente per esempio vorrei far visualizzare i dati nel seguente modo...

    id nomecampo nomecampo2
    1 valore valore2


    Di seguito la query per il recupero della struttura e il recupero dei record:
    Codice PHP:
    while($row=mysql_fetch_array($rs)){
    //nome della tabella
                
    $nome_entita=$row['nome_entita'];
                
                   for (
    $x 0$x $nr_table $x++){
                    
    $name_table=mysql_tablename($db_name,$x);
                    if(
    $name_table==$nome_entita){
                        
    $sql_campi="DESCRIBE $nome_entita";
                        
    $rs_campi=mysql_query($sql_campi) or die(mysql_error());
                    
                        while(
    $row mysql_fetch_array($rs_campi)) {
                                           
    //Campi che strutturano la tabella
                            
    echo "".$row['Field']." ";
                        
                            
    $sql="SELECT * FROM $nome_entita";
                            
    $rs=mysql_query($sql) or die(mysql_error());
                            
                            while(
    $rows=mysql_fetch_array($rs)){
                                
    $record="".$row['Field'];
                                
    $campo=$rows[''.$record.''];
                                
    //Record che compongono la tabella                    
                                
    echo"$campo";
                                
                            }
                        }
                    }    
                }
            } 
    Ps: in questo momento la visualizzazione è la seguente
    id 1 nomecampo valore nomecampo2 valore2

    Grazie mille a chi mi vorrà aiutare

  2. #2
    Secondo me ci sono un sacco di righe inutili... il ciclo for per esempio a cosa serve?

    All'interno del primo while hai il nome della tabella. A quel punto perché non fai subito DESCRIBE?
    Nel ciclo riempi un array con i nomi dei campi e stampi la prima riga. Stop.
    Poi fai il SELECT della tabella fuori da ciclo del DESCRIBE, usi l'array per chiamare i vari campi e stampi una riga dopo l'altra.
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  3. #3
    Il for l'utilizzo per controllare l'esistenza della tabella nel database.
    Comunque grazie per i consigli ma non saprei come apportare le modifiche al file mettendo quello che mi hai appena detto.. non è che mi daresti una mano?

  4. #4

    Re: Far visualizzare i dati di una tabella di cui non si conosce la struttura

    Codice PHP:
    while($row=mysql_fetch_array($rs)){
        
    $nome_entita=$row['nome_entita'];
        
    $sql_campi="DESCRIBE $nome_entita";
        
    $rs_campi=mysql_query($sql_campi) or die(mysql_error());  // Qui hai già il controllo sull'esistenza della tabella. 
        // Magari sostituisci die(mysql_error()) con break per uscire semplicemente dal ciclo piuttosto che terminare tutto

        // Ciclo per i campi
        
    $arrCampi = array();
        while(
    $row mysql_fetch_array($rs_campi)) {
                echo 
    $row['Field']." ";
            
    $arrCampi[] = $row['Field'];
        }

        
    // Ciclo per i record
        
    $sql="SELECT * FROM $nome_entita";
        
    $rs=mysql_query($sql) or die(mysql_error());
        while(
    $rows=mysql_fetch_array($rs)){
            echo 
    "
    \n"
    ;
            foreach(
    $arrCampi as $campo) {
                echo 
    $rs[$campo].' ';
            }
        }

    NB:NON testato!! Ovviamente con una <table> riusciresti a visualizzarlo meglio...
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  5. #5
    Ecco il risultato finale, giusto quello che volevo.
    Ti segnalo una piccola modifica sul codice, nel foreach ho modificato il rs in $rows altrimenti non funzionava
    Codice PHP:
    echo"<table border='0' cellpadding='2' cellspacing='2' width='100%'>";            
            while(
    $row=mysql_fetch_array($rs)){ 
                
    $nome_entita=$row['nome_entita']; 
             
    $sql_campi="DESCRIBE $nome_entita"
             
    $rs_campi=mysql_query($sql_campi) or die(mysql_error());  

                
    // Ciclo per i campi 
                 
    $arrCampi = array(); 
                echo
    "<tr bgcolor=''>";
                while(
    $row mysql_fetch_array($rs_campi)) { 
                    echo
    "<td style='border: dotted 1px #CCC' align='center'>".$row['Field']."</td>"
                    
    $arrCampi[] = $row['Field']; 
                } 
                echo
    "</tr>";

                
    // Ciclo per i record 
                
    $sql="SELECT * FROM $nome_entita"
                
    $rs=mysql_query($sql) or die(mysql_error()); 
                while(
    $rows=mysql_fetch_array($rs)){ 
                    echo 
    "<tr>"
                        foreach(
    $arrCampi as $campo) { 
                            echo 
    "<td style='border: dotted 1px #ccc' align='center'>".$rows[$campo]."</td>"
                    } 
                    echo
    "</tr>";
                }
                echo
    "</table>";
            } 
    Grazie mille

  6. #6
    Originariamente inviato da simone.marchese
    Ti segnalo una piccola modifica sul codice, nel foreach ho modificato il rs in $rows altrimenti non funzionava
    Si hai ragione, scusa, piccola svista !
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.