Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2921 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Créer un menu qui liste les noms des champs d'une table mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un menu qui liste les noms des champs d'une table mysql

n°2187861
xunil2003
Posté le 28-04-2013 à 12:41:23  profilanswer
 

Bonjour a tous,
 
j'ai un petit problème dans un script bash, je ne sais pas comment faire ?
Le but est de récupérer la liste des champs de ma table mysql et de l'afficher dans un menu en "dialogue" afin de sélectionner le champs à modifier.
j'ai tenté ceci :  
 
Script

Code :
  1. ar=($(echo "DESCRIBE $nom_table" | mysql -p$pass_bd -u root $nom_bd | cut -f1));
  2. echo "Veuillez indiquer votre choix :"
  3.         select ntit in  ${ar[@]} 
  4.             do 
  5. for l in $REPLY; # $REPLAY contains numbers
  6.                     do
  7.                       if [ $l -lt $cnt ]
  8.                         then
  9.                             ((var=$l-1));
  10.                             open ${ar[$var]};
  11.                         else
  12.                             exit
  13.                       fi
  14.                     done
  15.             done


 
Résultat

Code :
  1. laurent@PC-ubuntu:~$ /home/laurent/bash/BDD-Mysql/bdd-table.sh
  2. Veuillez indiquer votre choix :
  3. 1) Field                  12) type
  4. 2) id                     13) macro
  5. 3) nom_module             14) emplacement
  6. 4) code_maison_unite      15) concerne
  7. 5) code_maison            16) puissance
  8. 6) code_unite             17) name_on
  9. 7) nom_commande_On        18) input_name_on
  10. 8) nom_commande_Off       19) name_off
  11. 9) variateur_plus         20) input_name_off
  12. 10) variateur_moins        21) nom_groupe
  13. 11) variateur_automatique
  14. #? 3
  15. /home/laurent/bash/BDD-Mysql/bdd-table.sh: ligne 226 : [: 3 : opérateur unaire attendu
  16. laurent@PC-ubuntu:~$


 
La ligne 226 est :

Code :
  1. if [ $l -lt $cnt ]


 
Comment puis je faire pour qu'il sache que lorsque l'utilisateur tape 3 cela correspond à nom_module ?
Afin d'envoyer "nom_module"  dans la variable $valeur2
 
Ensuite je modifie le champs de ma table comme ceci.

Code :
  1. mysql_cmd="mysql -D $nom_bd -u$login_db -p$pass_bd"
  2.     $mysql_cmd -e "UPDATE $nom_table SET colonne1='$valeur2' WHERE id=$id "


 
Aidez moi, svp .
Merci.

mood
Publicité
Posté le 28-04-2013 à 12:41:23  profilanswer
 

n°2188350
rufo
Pas me confondre avec Lycos!
Posté le 01-05-2013 à 13:58:29  profilanswer
 

Stocke dans une variable de type tableau l'association n° du menu et le nom du champ au moment où tu fais l'affichage du menu.
 
Edit : autre solution : après la saisie du n° de menu, tu refais une requête DESCRIBE et tu reboucles sur le résultat et tu t'arrêtes quand tu es au n° du menu saisi et là, tu fais e traitement approprié.


Message édité par rufo le 01-05-2013 à 14:00:12

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Créer un menu qui liste les noms des champs d'une table mysql

 

Sujets relatifs
Script sous R: ajouter une valeur en début de listeCOMMENT CREER SE BATCH
Passer une variable d'un script sh vers script mysqlBatch Recherche fichier à partir d'une liste et Copier
Aide pour creer une action sur un logicielImplimenter Un Menu En C Avec Allegro
Modélisation table de correspondancemysql C++ code blocks
Liste option non selectionable sous android 2.3[CSS]Mon menu horizontale
Plus de sujets relatifs à : Créer un menu qui liste les noms des champs d'une table mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR