Show full columns from

Résolu
LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je voudrais vous demander comment on peux faire comme l'image ci-dessous. Dans phpmyadmin j'ai trouvé "show full columns from cdc_configsite; mais pour le quadrillage existe t-il une solution.
Je vous remercie.

14 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Tu parles de phpmyadmin .. et tu nous montres une image de la console.....
    Tu veux quoi exactement ? et où ??
    0
  2. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Bonjour, je voudrais lister mes tables dans un fichier avec le quadrillage comme le montre l'image en fait, style tableau cela offre une meilleur lisibilité.
    Merci
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Depuis où
      La console ou phpmyadmin ?
      0
  3. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    phpmyadmin
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Dans ce cas tu exportes le résultat en csv et tu l'ouvres dans un tableur (comme excel)
      0
  4. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    en fait moi ce que souhaiterai c'est d'avoir non pas les données mais la structure c'est à dire les champs à l'identique comme la commande "show full columns from matable;
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Pour mon soucis il faut que je me connecte en fait avec la console mysql.
    Merci
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Ben donc tu as déjà le bon resultat...
      Suffit de faire une redirection vers un fichier et ça devrait être bon
      0
  7. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Bonjour
    Une toute petite chose lorsque je veux me connecter à mon serveur mysql en saisissant la commande suivante...
    mysql> mysql -h mon_serveur_mysql -u nom_user -p nom_base_de_donnees

    cela me dit erreur de syntax près de.......
    J'ai essayé plusieurs solutions toujours la même réponse.
    Peux tu me donner ton avis s'il te plait.
    Je te remercie
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Rassure moi ... dans la commande que tu tapes .... tu ne mets pas : "mysql> " hein ???
      Tiens, ça devrait t'aider : https://openclassrooms.com/fr/courses/1313136-pour-aller-plus-loin/1313205-avant-de-commencer-utilisation-de-la-console-mysql
      0
  8. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    En fait quand on ouvre la console par défault c'est mysql> et ensuite je tape ma commande on le vois sur ton lien que je suis d'ailleurs en train de regarder.
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Tu devrais commencer uniquement par :

      mysql -h mon_serveur_mysql -u nom_user -p


      Si tu es en "local" sur ton ordi, tu auras par exemple :

      mysql -h 127.0.0.1 -u root -p

      Une fois validé par entrée il te demandera la password.
      Une fois connecté, tu pourras "choisir" la bdd;

      use nom_base_de_donnees;



      En gros, ça donnera ça :

      mysql> mysql -h 127.0.0.1 -u root -p
      Enter password:******
      mysql> use TABDD;
      Database changed
      mysql>
      0
  9. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    ca me retourne cette erreur tout au début en fait???
    Erreur de syntaxe près de 'mysql -h mysql5-2.300gp -u nom_user -p' à la ligne 1
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Elle est où ta bdd ???
      J'ai l'impression que tu essais d'accéder à une bdd distante..... (contenant un - qui plus est...)
      Et puis.. c'est le host qu'il faut mettre (le hostname ou son adresse ip)

      Attention : Si il s'agit d'une BDD hébergée sur un serveur web... il faut s'assurer qu'elle autorise les connexions externes.
      En général (lorsqu'il s'agit de serveurs mutualisés surtout...) ... seul phpmyadmin fonctionne... et aucune connexion distante n'est permise.
      0
      1. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        oui je suis bien chez un hébergeur mutualisé je vais regarder ça...
        Mais pourquoi à ton avis même en local j'ai le soucis?
        0
  10. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Toujours pareil même en local
    mysql> mysql -h 127.0.0.1 -u root -p;
    ERROR 1064 (42000): Erreur de syntaxe près de 'mysql -h 127.0.0.1 -u root -p' à la ligne 1
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      En fait c'est normal...
      Si tu es passé par la console mysql .. tu es, normalement, déjà connecté à mysql...
      Essaye donc de faire
      show databases;
      
      0
  11. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Merci ça c'est bon pour le local j'ai bien acces à mes BDD.
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Au fait... dans phpmyadmin .. lorsque tu fais la commande show full columns.....
      Tu verras, en dessous du résultat tu dois avoir un bouton du genre
       Version imprimable (avec textes complets) 

      regarde ce que ça donne... ça pourrait surement te convenir non ?

      Et puis au pire.. tu selectionnes le tableau avec ta souris, tu copies, puis tu colles dans un fichier excel (ou tout autre tableau)...
      0
  12. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Super je te remercie tout ce que je souhaitais en fait il y a juste un tout petit détail vraiment insignifiant mais on sait jamais....
    Dans la colonne Commentaire les mot s'arrête aux accent par exemple lorsqu'il y a "date de début" la commande affiche "date de d" existe t-il une commande pour résoudre cela.
    Encore merci
    0
  13. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Merci en fait j'ai dit une bétise tout est rentré dans l'ordre je te remercie.
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      N'oublies pas de mettre le sujet en RESOLU.
      0
  14. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Tiens..
    voila un petit script qui te donnera la structure de toutes tes tables de ta bdd
    (il faut changer les variables de connexion à la bdd pour que ça marche)
    <?php
    header('Content-Type: text/html; charset=utf-8');
    
    //Affichage des erreurs PHP
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    
    // Infos de connexion à la bdd
    define("BDD_HOST","localhost");
    define("BDD_DATABASE","exemples_ajax");
    define("BDD_USER","monuserbdd");
    define("BDD_PASSWORD", "unpassword");
    
    //---------------------------------------------------------------------//
    // FONCTIONS
    //---------------------------------------------------------------------//
    
    /**
    * Fonction pour établir la connexion à la bdd
    * return : l'objet de connexion
    */
    if(!function_exists("bdd_connect")){
      function bdd_connect(){
        try{
           $bdd =new PDO('mysql:host='.BDD_HOST.';dbname='.BDD_DATABASE.'; charset=utf8', BDD_USER, BDD_PASSWORD);
           // Activation des erreurs PDO
           $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
           // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
           $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
        } catch(PDOException $e) {
           die('Erreur : ' . $e->getMessage());
        }
        return $bdd;
      }
    }
    
    /**
    * Fonction réaliser une requête de type SELECT
    * @sql (string) : la requête à réaliser
    * @datas : les valeurs à passer à la requête si il y en a.
    * return : le résultat de la requête
    */
    if(!function_exists("querySelect")){
      function querySelect($sql,$datas=NULL){
        global $bdd;
        $result = NULL;
        //Execution de la requete
        try{
          $requete = $bdd -> prepare($sql) ;
          $requete->execute($datas) ;
          //on retourne un array contenant les résultats
          $result = $requete->fetchAll();
        }catch(Exception $e){
          // en cas d'erreur :
           echo " Erreur ! ".$e->getMessage();
           echo " Les datas : " ;
          print_r($datas);
        }
        return $result;
      }
    }
    
    
    /**
    * Récupère la liste des tables de la bdd
    */
    if(!function_exists("get_liste_tables")){
      function get_liste_tables(){
        $sql = "SHOW TABLES";
        return querySelect($sql);
      }
    }
    
    /**
    * Récupère la structure d'une table
    */
    if(!function_exists("get_structure_table")){
      function get_structure_table($table){
        $sql = "SHOW FULL COLUMNS FROM " . $table;
        return querySelect($sql);
      }
    }
    
    //---------------------------------------------------------------------//
    // Debut du script :
    //---------------------------------------------------------------------//
    //connexion à la bdd
    $bdd = bdd_connect();
    
    //liste des tables de la bdd
    $tables = get_liste_tables();
    
    
    
    $structure = array();
    foreach($tables as $i=>$dataTable){
      foreach($dataTable as $k=>$tableName){
        if($tableName != 'information_schema'){
          $structure[$tableName] = get_structure_table($tableName);
        }
      }
    }
    
    ?>
    
    <!doctype html>
    <html lang="fr">
      <head>
        <title>Exemples AJAX avec JQUERY</title>
        <meta charset="utf8">
        <style>
          table {
           border-width:1px; 
           border-style:solid; 
           border-color:darkgray;
           border-collapse:collapse;
           width:900px;
           text-align:center
           }
          td ,th{ 
           border-width:1px;
           border-style:solid; 
           border-color:darkgray;
           width:50%;
           }
        </style>
      </head>
      <body>
    
        <?php
        foreach($structure as $TBL=>$FIELD){
          
            echo "<div style='margin:5px;'>
                  <br><h3>Table :".$TBL."</h3>";
            
            echo "<table>
                  <thead>
                    <tr>
                      <th>Field</th>
                      <th>Type</th>
                      <th>Collation</th>
                      <th>Null</th>
                      <th>Key</th>
                      <th>Default</th>
                      <th>Extra</th>
                      <th>Privileges</th>
                      <th>Comment</th>
                    </thead>
                    <tbody>";
             foreach($FIELD as $F){
              echo "<tr>";
                foreach($F as $C=>$Value){
                 echo "<td>".$Value."</td>";
                }
              echo "</tr>";
             }
                    
            echo "</tbody>
                </table>
                </div>";
    
        }
        ?>
      </tbody>
     </html>
    


    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Après... au lieu de faire un html qui s'affichera dans le navigateur.. rien ne t'empèches de le modifier pour générer un csv.

      Par exemple :
      <?php
      header('Content-Type: text/html; charset=utf-8');
      
      //Affichage des erreurs PHP
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);
      
      
      // Infos de connexion à la bdd
      define("BDD_HOST","localhost");
      define("BDD_DATABASE","exemples_ajax");
      define("BDD_USER","monuserbdd");
      define("BDD_PASSWORD", "unpassword");
      
      //---------------------------------------------------------------------//
      // FONCTIONS
      //---------------------------------------------------------------------//
      
      /**
      * Fonction pour établir la connexion à la bdd
      * return : l'objet de connexion
      */
      if(!function_exists("bdd_connect")){
        function bdd_connect(){
          try{
             $bdd =new PDO('mysql:host='.BDD_HOST.';dbname='.BDD_DATABASE.'; charset=utf8', BDD_USER, BDD_PASSWORD);
             // Activation des erreurs PDO
             $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
             // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
             $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
          } catch(PDOException $e) {
             die('Erreur : ' . $e->getMessage());
          }
          return $bdd;
        }
      }
      
      /**
      * Fonction réaliser une requête de type SELECT
      * @sql (string) : la requête à réaliser
      * @datas : les valeurs à passer à la requête si il y en a.
      * return : le résultat de la requête
      */
      if(!function_exists("querySelect")){
        function querySelect($sql,$datas=NULL){
          global $bdd;
          $result = NULL;
          //Execution de la requete
          try{
            $requete = $bdd -> prepare($sql) ;
            $requete->execute($datas) ;
            //on retourne un array contenant les résultats
            $result = $requete->fetchAll();
          }catch(Exception $e){
            // en cas d'erreur :
             echo " Erreur ! ".$e->getMessage();
             echo " Les datas : " ;
            print_r($datas);
          }
          return $result;
        }
      }
      
      
      /**
      * Récupère la liste des tables de la bdd
      */
      if(!function_exists("get_liste_tables")){
        function get_liste_tables(){
          $sql = "SHOW TABLES";
          return querySelect($sql);
        }
      }
      
      /**
      * Récupère la structure d'une table
      */
      if(!function_exists("get_structure_table")){
        function get_structure_table($table){
          $sql = "SHOW FULL COLUMNS FROM " . $table;
          return querySelect($sql);
        }
      }
      
      //---------------------------------------------------------------------//
      // Debut du script :
      //---------------------------------------------------------------------//
      //connexion à la bdd
      $bdd = bdd_connect();
      
      //liste des tables de la bdd
      $tables = get_liste_tables();
      
      
      
      $structure = array();
      foreach($tables as $i=>$dataTable){
        foreach($dataTable as $k=>$tableName){
          if($tableName != 'information_schema'){
            $structure[$tableName] = get_structure_table($tableName);
          }
        }
      }
      
      
      $output = "";
      $delimiter = ";";
       foreach($structure as $TBL=>$FIELD){
          $output .= PHP_EOL  .PHP_EOL ;
          $output .= "--------------------------------------------------------------------------------------";
          $output .= PHP_EOL . "Table :".$TBL . PHP_EOL;
          $output .= "--------------------------------------------------------------------------------------";
          $output .= PHP_EOL;
          foreach($FIELD as $F){
            $output .= PHP_EOL;
            foreach($F as $C=>$Value){
              $output .= utf8_decode($Value).$delimiter;
            }
          }
       }
      
        
        
      //Send headers
      $filename = "StructureTbl.csv";
      header("Content-type: application/octet-stream");
      header("Content-Disposition: attachment; filename=$filename");
      header("Pragma: no-cache");
      header("Expires: 0");
      
      
      print_r($output);
      
      
      
          
      

      Si tu l'ouvres avec Excel.. il devrait déjà être mis en forme.
      0
  15. LaChaux78 Messages postés 585 Date d'inscription   Statut Membre Dernière intervention   32
     
    Bonjour,
    Je te remercie, c'est sympa.
    Je vais mettre ton script en place.
    Cordialement.
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      N'oublie pas .. de mettre le sujet ... en RESOLU.
      Merci;
      0