Signaler

Show full columns from [Résolu]

Posez votre question LaChaux78 127Messages postés lundi 25 juillet 2016Date d'inscription 8 novembre 2017 Dernière intervention - Dernière réponse le 6 nov. 2017 à 10:05 par jordane45
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.
Utile
+0
plus moins
Bonjour,

Tu parles de phpmyadmin .. et tu nous montres une image de la console.....
Tu veux quoi exactement ? et où ??
Donnez votre avis
Utile
+0
plus moins
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
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 4 nov. 2017 à 21:19
Depuis où
La console ou phpmyadmin ?
Répondre
Donnez votre avis
Utile
+0
plus moins
phpmyadmin
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 4 nov. 2017 à 22:16
Dans ce cas tu exportes le résultat en csv et tu l'ouvres dans un tableur (comme excel)
Répondre
Donnez votre avis
Utile
+0
plus moins
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;
Donnez votre avis
Utile
+0
plus moins
Pour mon soucis il faut que je me connecte en fait avec la console mysql.
Merci
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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/courses/pour-aller-plus-loin-41/avant-de-commencer-utilisation-de-la-console-mysql
Répondre
Donnez votre avis
Utile
+0
plus moins
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.
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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>
Répondre
Donnez votre avis
Utile
+0
plus moins
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
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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.
Répondre
LaChaux78 127Messages postés lundi 25 juillet 2016Date d'inscription 8 novembre 2017 Dernière intervention - 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?
Répondre
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 5 nov. 2017 à 20:17
voir ma réponse précédente :
http://www.commentcamarche.net/forum/affich-34977829-show-full-columns-from#16
Répondre
Donnez votre avis
Utile
+0
plus moins
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
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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;
Répondre
Donnez votre avis
Utile
+0
plus moins
Merci ça c'est bon pour le local j'ai bien acces à mes BDD.
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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)...
Répondre
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
Merci en fait j'ai dit une bétise tout est rentré dans l'ordre je te remercie.
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 5 nov. 2017 à 22:39
N'oublies pas de mettre le sujet en RESOLU.
Répondre
Donnez votre avis
Utile
+0
plus moins
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>



jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 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.
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour,
Je te remercie, c'est sympa.
Je vais mettre ton script en place.
Cordialement.
jordane45 18760Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 9 novembre 2017 Dernière intervention - 6 nov. 2017 à 10:05
N'oublie pas .. de mettre le sujet ... en RESOLU.
Merci;
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !