Page 1 PHP Organigramme de gestion de base de données 1 Connexion au serveur de base de données 2 3 4 5 Ouverture d'une base de données Création d'une base de données Suppression d'une base de données Affichage de la liste des bases de données 6 7 8 9 10 Requête pour afficher, ajouter, supprimer, modifier le contenu d'une ou plusieurs tables de la base de données choisie Requête de Création d'une nouvelle table dans la base de données choisie Requête de Suppression d'une table de la base de données choisie Requête de modification de la structure d'une table de la base de données choisie Affichage de la liste des tables de la base de données choisie Exécution de la requête 11 12 Affichage du nombre d'enregistrements concerné par la requête 13 Affichage du nombre de rubriques (champs) concerné par la requête 14 Affichage du nom des rubriques (champs) concerné par la requête 15 Affichage de la valeur de la rubriques (champs) concernée par la requête 16 Affichage de la taille d'une rubrique en particulier 17 Affichage du type d'une rubrique en particulier Type=caractère, numérique, date etc… 18 Fermeture de la base de données après utilisation Page 2 PHP Gestion de base de données Code php num $db=mysql_connect("localhost","httpd",""); 1 $db est la variable ne votre choix 2 3 4 5 6.1 6.2 6.3 6.4 7 8 9 10 11 Mysql_select("nom de la bd",$db); Mysql_create_db("nom de la bd à créer",$db) Mysql_drop_db("nom de la bd à supprimer",$db) $nb=mysql_list_dbs($db); while ($base=mysql_fetch_row($nb)) { echo "base de données : $base[0] <br>"; } $nb est la variable de votre choix $r1="select rubrique,rubrique2 from table where condition"; condition = rubrique signe(=, <>, <, >) contenu $r1 est la variable ne votre choix $r1="delete from table where condition"; Exemple de condition Prix<=200 ou DateInscription>#01/01/2000# Commentaires Connexion au serveur de base de données Se connecter au serveur Mysql à partir de MySqlManager.exe en local Ouverture d'une base de données (bd) Création d'une nouvelle base de données Suppression d'une base de données existante Affichage de la liste des bases de données mysql_list_dbs contient la liste des bases de données mysql_fetch_row permettra de les afficher Requête de sélection Exemple Select nom from client where ville='nice' Pour sélectionner les clients niçois Requête de suppression Exemple delete from client where achat<>'télé' pour supprimer les clients n'ayant pas acheté une télé $r1="insert into table (rubrique1,rubrique2) values Requête d'ajout (contenu rubrique1,contenu rubrique2) where Exemple condition"; Insert into client (nom,age) values ('Dupond',40) Pour ajouter monsieur Dupond de 40 ans $r1="update table set rubrique1=contenu1, Requête de mise à jour rubrique2=contenu2 where condition"; Exemple Update client set age=age+1 where nom='dupond' Pour ajouter 1à l'age de Dupond $r1="create table nom de la table (rubrique1 type (taille) Requête création d'une nouvelle table option, rubrique2 type (taille) option…)"; Exemple type: char pour caractère, int pour entier Create table client (nom char(15) not null, float pour décimal, datetime pour date et heure age int(2)) Option : null ou not null ou auto_increment ou primary Pour ajouter la table client contenant les key (rubrique1,rubrique2) rubriques nom de type chaîne et age entier $r1="drop table nom de la table à supprimer"; Requête suppression d'une table Exemple drop table client Pour supprimer la totalité de la table client $r1="alter table nom de la table caractéristique"; Requête modification structure de la table caractéristique=add (rubrique type (taille)) pour ajouter Exemple une rubrique à la table Alter table client add (datenais date) ou drop rubrique pour supprimer une rubrique de la Pour ajouter la rubrique datenais de type table ou modify rubrique type taille option Date à la table client , la taille n'est pas Exemple alter table achat modify prix float(5,2) not null indiquée pour les rubriques de type Date $nb=mysql_list_tables("nom de la bd",$db); Boucle d'affichage de la liste des tables while ($table=mysql_fetch_row($nb)) d'une base de données { mysql_list_tables contient la liste des tables echo "liste des tables : $table[0] <br>"; mysql_fetch_row permet de l'afficher } $table est la variable de votre choix $rexe=mysql_query($r1,$db); Permet d'exécuter la requête $rexe est la variable de votre choix Exemple: $r1="delete from client where nom like'a%'" $r1 est la variable contenant le texte de la requête mysql_query($r1,$db) supprime les clients dont le nom commence par un A Page 3 PHP Gestion de base de données Code php num $Nenr=mysql_affected_rows($db); 12 Commentaires Affichage du nombre d'enregistrements concerné par la dernière requête 13 Affichage du nombre de rubriques (champs) concerné par la requête Affichage du nom des rubriques (champs) concerné par la requête 14 15 16 17 18 E X E M P L E ou $Nenr=mysql_num_rows($rexe); $Nenr table est la variable de votre choix $nbrub=mysql_num_fields($rexe); $nom=mysql_field_name($rexe,$index); $index est l'indice de la rubrique. L'indice de la 1ere rubrique est 0, celui de la 2ème rubrique est 1…. Exemple $r="select * from achats"; $Rsql=mysql_query($r,$db); $Nrub=mysql_num_fields($Rsql); for ($index=0;$index<$Nrub;$index++) Sélection de toutes les rubriques et de tous les enregistrements de la table Achats $Nrub contient le nombre total de rubrique Boucle d'affichage du nom des rubriques A partir de mysql_field_name {echo mysql_field_name($Rsql,$index);} $r="select * from achats"; Boucle d'affichage du contenu des rubriques $Rsql=mysql_query($r,$db); de la table Achats while ($rub=mysql_fetch_row($Rsql)) $rub[0] est le contenu de la 1ere rubrique { echo "$rub[0] <br> $rub[1]";} $rub[1] est le contenu de la seconde etc… $taille=mysql_field_len($rexe,$index); Affichage de la taille d'une rubrique en particulier voir Exemple N° 14 taille indiquée lors de la création de la structure de la En remplaçant mysql_field_name table Par mysql_field_len $typ=mysql_field_type($rexe,$index); Affichage du type d'une rubrique type indiqué lors de la création de la structure de la table Le résultat obtenu est string pour du texte type = datetime pour une rubrique de type Date Real pour un décimal, int pour un entier Mysql_close($db); Fermeture de la base de données <html><body bgcolor=pink> <? $db=mysql_connect("localhost","httpd",""); mysql_select_db("produit",$db); //connexion au serveur //selection de la base de données produit $r="select * from achats"; $Rsql=mysql_query($r,$db); //selection de tous les champs et execution de la requete $Nenr=mysql_num_rows($Rsql); echo "nombre : <b>$Nenr</b> <p>"; //affichage du nombre d'enregistrement $Nrub=mysql_num_fields($Rsql); echo "<h1> nombre rubrique : $Nrub</h1>"; print("<table border=1>\n");print("<tr bgcolor=white>\n"); for ($index=0;$index<$Nrub;$index++){ $v1=mysql_field_name($Rsql,$index); print("<td><b> &nbsp; $v1 &nbsp; </b></td>\n");} print("</tr>\n"); while ($rub=mysql_fetch_row($Rsql)){ print("<tr>\n"); for ($index=0;$index<$Nrub;$index++){ $lg=strLen($rub[$index]);$aff="&nbsp;"; $tp=mysql_field_type($Rsql,$index); $alg="div align=left"; if ($tp!="string") $alg="div align=right"; if ($lg!=0) $aff=$rub[$index]; print("<td $alg><b>$tp</b></td>\n");} print("</tr>\n"); } print("</table>\n"); //affichage du nombre de rubriques concerné // affichage du contenu dans un tableau Boucle d'affichage du nom des rubriques Boucle d'affichage du contenu Test de la longueur du champ, si égale à 0 Alors on affiche &nbsp; c'est à dire un espace Test du type de la rubrique Si n'est pas de type string (texte) alors on aligne Sur la droite dans la case du tableau Mysql_close($db); ?></body></html> Sauvegarder le contenu de la table dans un fichier :Select * from nom_table into outfile "nom_fichier.txt" Récupérer le contenu d'un fichier pour le mettre dans la table:Load data infile "nom_fichier.txt" into table nom_table