Show full columns from

Résolu/Fermé
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 - 4 nov. 2017 à 20:57
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 6 nov. 2017 à 10:05
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.
A voir également:

14 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
4 nov. 2017 à 21:03
Bonjour,

Tu parles de phpmyadmin .. et tu nous montres une image de la console.....
Tu veux quoi exactement ? et où ??
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
4 nov. 2017 à 21:12
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
4 nov. 2017 à 21:19
Depuis où
La console ou phpmyadmin ?
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
4 nov. 2017 à 22:01
phpmyadmin
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
4 nov. 2017 à 22:16
Dans ce cas tu exportes le résultat en csv et tu l'ouvres dans un tableur (comme excel)
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
4 nov. 2017 à 22:33
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 11:37
Pour mon soucis il faut que je me connecte en fait avec la console mysql.
Merci
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 11:41
Ben donc tu as déjà le bon resultat...
Suffit de faire une redirection vers un fichier et ça devrait être bon
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 18:51
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 19:18
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 19:38
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 5 nov. 2017 à 19:45
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 20:01
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 20:06
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
5 nov. 2017 à 20:15
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023
5 nov. 2017 à 20:17
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 20:06
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 20:13
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 20:20
Merci ça c'est bon pour le local j'ai bien acces à mes BDD.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 20:27
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 20:43
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
5 nov. 2017 à 21:10
Merci en fait j'ai dit une bétise tout est rentré dans l'ordre je te remercie.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 22:39
N'oublies pas de mettre le sujet en RESOLU.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 21:19
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
5 nov. 2017 à 21:36
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
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
6 nov. 2017 à 09:25
Bonjour,
Je te remercie, c'est sympa.
Je vais mettre ton script en place.
Cordialement.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
6 nov. 2017 à 10:05
N'oublie pas .. de mettre le sujet ... en RESOLU.
Merci;
0