Page 1 PHP Organigramme de gestion de base de données 1 2 3 4

Page 1
PHP
Organigramme de gestion de base de données
Connexion au serveur de base de données
Ouverture d'une
base de données
Suppression d'une
base de données
Affichage de la liste
des bases de données
Création d'une
base de données
Affichage de
la liste des
tables de la
base de
données
choisie
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
Exécution de la re
q
uête
Affichage du nombre
d'enregistrements
concerné par la
requête
Affichage du nombre
de rubriques (champs)
concerné par la
requête
Affichage du nom des
rubriques (champs)
concerné par la
requête
Affichage de la valeur
de la rubriques
(champs) concernée
par la requête
Affichage de la taille
d'une rubrique en
particulier
Affichage du type
d'une rubrique en
particulier
Type=caractère,
numérique, date etc…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
16
Fermeture de la base
de données après
utilisation
18
Page 2
PHP
Gestion de base de données
num Code php Commentaires
1 $db=mysql_connect("localhost","httpd","");
$db est la variable ne votre choix
Connexion au serveur de base de données
Se connecter au serveur Mysql à partir de
MySqlManager.exe en local
2 Mysql_select("nom de la bd",$db); Ouverture d'une base de données (bd)
3 Mysql_create_db("nom de la bd à créer",$db) Création d'une nouvelle base de données
4 Mysql_drop_db("nom de la bd à supprimer",$db) Suppression d'une base de données existante
5 $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
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
6.1 $r1="select rubrique,rubrique2 from table where
condition";
condition = rubrique signe(=, <>, <, >) contenu
$r1 est la variable ne votre choix
Requête de sélection
Exemple
Select nom from client where ville='nice'
Pour sélectionner les clients niçois
6.2 $r1="delete from table where condition";
Exemple de condition
Prix<=200 ou DateInscription>#01/01/2000#
Requête de suppression
Exemple
delete from client where achat<>'télé'
pour supprimer les clients n'ayant pas acheté
une télé
6.3 $r1="insert into table (rubrique1,rubrique2) values
(contenu rubrique1,contenu rubrique2) where
condition";
Requête d'ajout
Exemple
Insert into client (nom,age) values
('Dupond',40)
Pour ajouter monsieur Dupond de 40 ans
6.4 $r1="update table set rubrique1=contenu1,
rubrique2=contenu2 where condition";
Requête de mise à jour
Exemple
Update client set age=age+1 where
nom='dupond'
Pour ajouter 1à l'age de Dupond
7 $r1="create table nom de la table (rubrique1 type (taille)
option, rubrique2 type (taille) option…)";
type: char pour caractère, int pour entier
float pour décimal, datetime pour date et heure
Option : null ou not null ou auto_increment ou primary
key (rubrique1,rubrique2)
Requête création d'une nouvelle table
Exemple
Create table client (nom char(15) not null,
age int(2))
Pour ajouter la table client contenant les
rubriques nom de type chaîne et age entier
8 $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
9 $r1="alter table nom de la table caractéristique";
caractéristique=add (rubrique type (taille)) pour ajouter
une rubrique à la table
ou drop rubrique pour supprimer une rubrique de la
table ou modify rubrique type taille option
Exemple alter table achat modify prix float(5,2) not null
Requête modification structure de la table
Exemple
Alter table client add (datenais date)
Pour ajouter la rubrique datenais de type
Date à la table client , la taille n'est pas
indiquée pour les rubriques de type Date
10 $nb=mysql_list_tables("nom de la bd",$db);
while ($table=mysql_fetch_row($nb))
{
echo "liste des tables : $table[0] <br>";
}
$table est la variable de votre choix
Boucle d'affichage de la liste des tables
d'une base de données
mysql_list_tables contient la liste des tables
mysql_fetch_row permet de l'afficher
11 $rexe=mysql_query($r1,$db);
$rexe est la variable de votre choix
$r1 est la variable contenant le texte de la requête
Permet d'exécuter la requête
Exemple:
$r1="delete from client where nom like'a%'"
mysql_query($r1,$db) supprime les clients dont
le nom commence par un A
Page 3
PHP
Gestion de base de données
num Code php Commentaires
12 $Nenr=mysql_affected_rows($db);
ou $Nenr=mysql_num_rows($rexe);
$Nenr table est la variable de votre choix
Affichage du nombre d'enregistrements
concerné par la dernière requête
13 $nbrub=mysql_num_fields($rexe); Affichage du nombre de rubriques (champs)
concerné par la requête
14 $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++)
{echo mysql_field_name($Rsql,$index);}
Affichage du nom des rubriques (champs)
concerné par la requête
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
15 $r="select * from achats";
$Rsql=mysql_query($r,$db);
while ($rub=mysql_fetch_row($Rsql))
{ echo "$rub[0] <br> $rub[1]";}
Boucle d'affichage du contenu des rubriques
de la table Achats
$rub[0] est le contenu de la 1ere rubrique
$rub[1] est le contenu de la seconde etc…
16 $taille=mysql_field_len($rexe,$index);
taille indiquée lors de la création de la structure de la
table
Affichage de la taille d'une rubrique en
particulier voir Exemple N° 14
En remplaçant mysql_field_name
Par mysql_field_len
17 $typ=mysql_field_type($rexe,$index);
type indiqué lors de la création de la structure de la table
type = datetime pour une rubrique de type Date
Affichage du type d'une rubrique
Le résultat obtenu est string pour du texte
Real pour un décimal, int pour un entier
18 Mysql_close($db); Fermeture de la base de données
E
X
E
M
P
L
E
<html><body bgcolor=pink>
<? $db=mysql_connect("localhost","httpd","");
mysql_select_db("produit",$db);
$r="select * from achats";
$Rsql=mysql_query($r,$db);
$Nenr=mysql_num_rows($Rsql);
echo "nombre : <b>$Nenr</b> <p>";
$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");
Mysql_close($db);
?></body></html>
//connexion au serveur
//selection de la base de données produit
//selection de tous les champs
et execution de la requete
//affichage du nombre d'enregistrement
//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
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
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !