Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
[mySQL] Création de x tables à gérer
Auteur Message
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Bonjour à tous,

je suis toujours entrain de traiter sql et autoit.
J'arrive à gèrer l'ajout d'un contact dans la bdr, la recherche simple.
Il me reste la suppression.

J'ai une question sur l'ajout d'une nouvelle table.

Actuellement :

Ma base Contacts
Code:
CREATE DATABASE `Contacts` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
USE `Contacts`


Contenant une table Contact avec les infos id, Nom, prénom, email, mobile
Code:
CREATE TABLE `ContactMe` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`Nom` VARCHAR(36) NOT NULL ,
`Prenom` VARCHAR(36) NOT NULL ,
`email` VARCHAR(255) NOT NULL ,
`mobile` VARCHAR(10) NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6
;

J'aimerai gérer une seconde table nommée Logiciels ou softs qui stockerait ses înformations :

id de la personne
Nom antivirus - licence
Version de windows - Licence
Version Office - Licence

Ma question est la suivante , que dois contenir ma nouvelle table ?
Code:
CREATE TABLE `Softs` (
?????
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6


Je pense que le mieux est de séparer les deux tables non que tout stockés dans la meme ?

Code basique sans stockage d'informations dans la bdr - juste pour monter les combo.
Code:


#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 541, 289, 221, 158)
Global $ListOsType = GUICtrlCreateCombo("", 16, 32, 201, 25)
Global $ListOffice = GUICtrlCreateCombo("", 16, 72, 201, 25)
Global $ListAntivirus = GUICtrlCreateCombo("", 16, 112, 201, 25)
Global $Input1 = GUICtrlCreateInput("", 224, 32, 297, 21)
Global $Input2 = GUICtrlCreateInput("", 224, 72, 297, 21)
Global $Input3 = GUICtrlCreateInput("", 224, 112, 297, 21)
Global $Button1 = GUICtrlCreateButton("Go", 424, 240, 105, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Dim $OsType[18] = ["WindowsXP Home_32", "WindowsXP Home_64","WindowsXP Pro_32","WindowsXP Pro_64", _
            "Vista Basique_32", "Vista_Basique_64", "Vista Prem_32", "Vista Prem_64", "Vista Pro_32", "Vista Pro64","Vista Ultimate_32", "Vista Ultimate_64", _
            "Win 7 Prem_32", "Win 7 Prem_64", "Win 7 Pro_32", "Win 7 Pro_64", "Win 7 Ultimate_32", "Win 7 Ultimate_64"]
            ; On construit le string
Global $string = ""
Global $string2 = ""
Global $string3 = ""

For $i In $OsType
    $string &= $i & "|"
Next
$string = StringTrimRight($string, 1) ; c'est pour enlever le dernier |
ConsoleWrite($string & @CRLF)
GUICtrlSetData($ListOsType, $string)

Dim $Office[8] = ["Office Famille et Etudiants 2007", "Office Business 2007", "Office Pro 2007", "Office Pro Plus 2007", _
"Office Famille et Etudiants 2010", "Office Famille et Entreprise 2010", "Office Professionnel 2010"]

For $i In $Office
    $string2 &= $i & "|"
Next
$string2 = StringTrimRight($string2, 1) ; c'est pour enlever le dernier |
ConsoleWrite($string2 & @CRLF)
GUICtrlSetData($ListOffice, $string2)

Dim $Antivirus[5] = ["Norton Internet Security 2012", "Norton Antivirus 360", "Kaspersky Internet Security 2012", "Kaspersky Antivirus 2012"]

For $i In $Antivirus
    $string3 &= $i & "|"
Next
$string3 = StringTrimRight($string3, 1) ; c'est pour enlever le dernier |
ConsoleWrite($string3 & @CRLF)
GUICtrlSetData($ListAntivirus, $string3)

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
   Case $GUI_EVENT_CLOSE
   Case $Button1
      Go_List()
   Exit

 EndSwitch
WEnd

Func Go_List()
    local $Os = GuiCtrlRead($ListOsType) ; tout simplement
   Local $OsNum = GuiCtrlRead($Input1)
   Local $Of = GuiCtrlRead($ListOffice)
   Local $OfNum = GuiCtrlRead($Input2)
   Local $Virus = GuiCtrlRead($ListAntivirus)
   Local $VirusNum = GuiCtrlRead($Input3)
    MsgBox(0, "Tableau 1D", $Os & "-" & $OsNum & @CRLF & _
                     $Of & "-" & $OfNum & @CRLF & _
                     $Virus & "-" & $VirusNum)
EndFunc   ;==>Go_List





Dernière édition par Laddy le Mar 14 Fév 2012 - 17:58; édité 3 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [mySQL] Création de x tables à gérer 
Bonjour,

Déjà quel est le système de gestion de bases de données que tu utilise ? (IBM DB2, Oracle Database, MySQL, PostgreSQL, Microsoft SQL Server ...)
et si jamais tu n'a pas le moteur sql par défaut, le quel utilise -tu ?

je demande cela car le langage des requettes sql peut varier en fonction de sa.



Répondre en citant
Message [mySQL] Création de x tables à gérer 
J'utilise mysql pardon, avec xampp




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Oui enfaite tu utilise Mysql avec le moteur MyIsam ("ENGINE=MyISAM")

pourquoi pas ceci :
CREATE TABLE `Softs` (
`id` INT NOT NULL PRIMARY KEY (id)
`antivirus` VARCHAR(255) NOT NULL ,
`OS_ver` VARCHAR(255) NOT NULL ,
`Office_key` VARCHAR(255) NOT NULL ,
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci


sachant que la partie "DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci" est facultative et que "NOT NULL" désigne un champ obligatoire.

quelques tutos ou infos qui pourrait t’être utile:
http://dev.mysql.com/doc/refman/5.0/fr/create-table.html
http://www.commentcamarche.net/contents/sql/sqlcreate.php3



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Si je comprend bien ta table, il manquerait le nom de le version de windows, le nom de la version office et le nom de l'antivirus non ?
ou tout est géré dans le meme champs ?
car je vais utiliser une combolist pour gérer les noms des logiciels et un champ input pour saisir la licence.

J'ai consulté les tutoriels mais ça n'enlève pas les interrogations pour la contruction de la table.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Eh ben dans ce cas sa dépasse mes petites compétences en la matière^^ , j'ai toujours utilisé des requêtes sql basique dsl.



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Moi aussi lol




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
pourquoi tu ne peut pas simplement rajouter des colonnes genre "version_OS" , etc.... ? je ne comprend pas ce que tu veux dire par "combolist" et "champ input"

personnellement j'aurai créé toutes les colonnes puis c'est le programme autoit qui ajouterai les lignes contenant toute les données en sachant que l'id serait lié à l'id auto-incrémenté de ta première table "ContactMe".

Tu pourrait aussi me dire quel est le type de programme autoit et à quoi servira-t-il ?

EDIT: voila ce que j'aurai fait:
CREATE TABLE `Softs` (
`id` INT NOT NULL PRIMARY KEY (id)
`antivirus_name` VARCHAR(255) ,
`antivirus_licence` VARCHAR(255) ,
`OS_ver` VARCHAR(255) ,
`OS_key` VARCHAR(255) ,
`Office_ver` VARCHAR(255) ,
`Office_key` VARCHAR(255) ,
) ENGINE=MyISAM




Dernière édition par Cαutex le Mar 14 Fév 2012 - 13:24; édité 1 fois
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Le sujet est ici : http://batch.xoo.it/p19014.htm

C'est un gestionnaire de contacts avec des informations de configuration PC et configuration outlook

Le stockage des infos ce fait via un formulaire et pour faire apparaitre les informations ça sera via un clic droit sur le nom.

Ancienne interface :




Nouvelle interface : ajotu des combo





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
si j'ai bien compris c'est l'utilisateur du programme qui doit entrer les informations à destination de la table "softs" ?

dans ce cas tu peut simplement créer la table comme je l'ai mis au dessus puis la compléter avec le programme, sa n'a pas l'air si compliqué que sa .

EDIT: ah ... avec les screenshot sa change tout ^^ je regarde ...

EDIT: ok donc si tu souhaite ajouter des champs "personnalisable" pour chaque contact il suffit d'appeler tes colonnes "combo_1;combo_1_value;combo_2;combo_2_value;combo_3;combo_3_value" dans ta table "champs optionnels" mais personnellement j'ajouterai directement ces colonnes à ta table "ContactMe". ensuite il suffit de traiter via autoit l'affichage des combos non null et le tours est joué! (sauf que j'y connait encore rien en autoit ^^)

EDIT: oubli ce que je viens de dire je viens de comprendre .... j'ai du me lever du pied gauche dsl...



Dernière édition par Cαutex le Mar 14 Fév 2012 - 13:39; édité 1 fois
Répondre en citant
Message [mySQL] Création de x tables à gérer 
Explication : Moi en l occurance je saisis les informations de la personne :

Nom, prénom, mail, mobile , windows + num de licence, office + num licence, antivirus+num de licence
je clique sur enregistrer et ça stocke les infos dans la BDR.

Je cherche une personne j'entre son nom je clique sur recherche
Le nom ou les noms s'affichent puis je double clic ou via un menu contextuel (clic droit je peux lister le contenu des logiciels entrés)

Edit : d'ou ma question est mieux de tout gérer dans une seule table ou dans x tables.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
je t'expose mon idée:


TABLE ContactMe= id;nom;prenom;email;mobile;id_combo_1;combo_1_value;id_combo_2;combo_2_value;id_combo_3;combo_3_value
TABLE combo_1= id;name_combo
TABLE combo_2= id;name_combo
TABLE combo_3= id;name_combo



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Manquerait pas encore une fois le champ input lié au combo ?
ou alors je n'ai pas compris ton idée




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [mySQL] Création de x tables à gérer 
non, le champs lié au combo est dans la table contacts ("combo_n_value")

EDIT: exemple pour que tu comprenne mon idée:

TABLE ContactMe:
id;nom;prenom;email;mobile;id_combo_1;combo_1_value;id_combo_2;combo_2_value;id_combo_3;combo_3_value
1;GAGA;Laddy (je sais c'est nul);Laddy@domaine.com;06 XX XX XX XX;1;XXXXX-XXXX-XXXXXXX-XXXX;2;licence_antivirus XXXXX;3;XXX-XX-XXXXXX-XXXX

TABLE combo_1:
id;name_combo
1;Windows
2;Linux
3;Unix

TABLE combo_2:
id;name_combo
1;avast
2;mcafee
3;norton

TABLE combo_3:
id;name_combo
1;office 2003
2;office 2007
3;office 2010

CE QUI DONNE:

Laddy GAGA
Laddy@domaine.com
tel 06 XX XX XX XX
Windows XXXXX-XXXX-XXXXXXX-XXXX
mcafee licence_antivirus XXXXX
office 2010 XXX-XX-XXXXXX-XXXX

EDIT: d’ailleurs pour optimiser les requêtes tu peut mettre directement les valeurs dans les champs id_combo_n et te servir des tables combo uniquement quand tu créé un utilisateur, comme sa tu à une base de donnée fiable et flexible qui te permet facilement d'ajouter des système d’exploitation ou des antivirus par exemple. Et tu ne fait qu'un seul requette pour afficher les informations d'un contact sans passer par les tables combo.



Répondre en citant
Message [mySQL] Création de x tables à gérer 
Si je comprends bien ton idée, les informations des tables combox sont déjà stockés dans la bdr ?
Et je dois me baser sur ces entrées pour extraire les infos des différentes tables pour les combox afin de faire la selection dans mon formulaire ? ai je bien saisi ?

dans mon idée je partais avec un tableau ds mon code autoit qui lister les win, office etc... dans les combox

Code:

Dim $Office[8] = ["Office Famille et Etudiants 2007", "Office Business 2007", "Office Pro 2007", "Office Pro Plus 2007", _
"Office Famille et Etudiants 2010", "Office Famille et Entreprise 2010", "Office Professionnel 2010"]






______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [mySQL] Création de x tables à gérer 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch