Vous êtes sur la page 1sur 5

U N I V ERSITE IB N ZOHR 02t11t2008

ECOLE NATIONALE DE COMMERCE


ET DE GESTION - AGADIR

TP Nol- 3ème année

N.B. A chaque exécution d'une opération, notez sur votre document la requête SQL
Correspondante.

l) LaneezEasyPhps'il est installé


2) Lancezensuite EasyPhp,puis PhpMyAdmin, notez que I'adressede votre page Web est
http:ll 127.0.0.1lnysqll
3) Essayezde consulterles différentesbasesde donnéesexistantes,quel est leur nombre ? y-a -t-il
des tables ?
4) Créezune basede donnéesde gestion des ressourceshumainesque vous appellerezGRH
5) Créez une table < employés_tbl ) avec les champs suivants :
- Identificateur : entier qui s'incrémente automatiquement(clé primaire), on désire à peu près
30 000 enregistrements.
- Nom : une chaîne d'au maximum 25 caractères(VARCFIAR)
- Prénom : une chaîne d'au maximum 25 caractères(VARCI{AR)
- Adresse: une chaîned'au maximum 50 caractères(VARCHAR), permettezles valeurs nulles.
- Ville : la vaille qui est une chaîned'au maximum 30 caractères(VARCHAR) et ayant comme
valeur par défaut < Agadir >
- DateNaissance: une date avec zone de saisie.
- NbreEnfants : le nombre d'enfants (entier petit) avec comme valeur par défaut 0. Le nombre
d'enfants ne dépassepas lfi).

N. B. Votre requête SQI était : CREATE DATABASE 'grh' ;


6) Demandez I'affichage de la structure de la table et faites des modifications si c'est nécessaire
7) On voudrait changer la position de la date de naissanceet la mettre aprèsle nom, y-a -t-il une
solution ?
8) Insérez les informations suivantesdansvotre table :
identificateur Nom Prénom Adresse Yille DateNaissance NbreEn&ntq
I Ahmadi Ali NULL Agadir l987-l l-03 3
2 Kasmi Mohamed NULL Agadir 1980-02-02 0
3 Faridi Asmae 45, bd Moukawama Agadir lgïg-ll-24 I
4 Saidi Salma 56,bd de FRance Marrakech1984-05-10 4
5 BenAli Kacem 45, rued'Agadir Casablanca 198847-14 6
6 Sabir Fatima-EnahraBLOC 45, No456DaoudiatMarrakech0000-00-00 z
7 Marzak Touria 6T,ruedeMarrakech Agadir 1986-12-24 G
8 El Alami Rachid 56, rue ibn toumertSouika Rabat 0000-00-00 7

9) Modifiez le nombre d'enfants de Monsieur ( Kasmi >>en mettant la valeur 5.


l0) Changezégalernentles datesde naissancesen choisissant2/l/1956 et 141211988.
1l) Réaffichezvotre table.
12) Donnezenutilisant I'assistantles RequêtesSQL permettant:
. (Rl) D'afficher la liste destous les employés
. (R2) D'afficher la lisûedes nom, prénomsdes employés
. (R3) D'afficher la liste des personnesdont le nombre d'enfantsest égaleà 6
. (R4) D'afficher les employés(nom, prénom,ville) ayant moins de 3 enfants.
o (R5) D'afficher les employés(nom, prénom,ville) habitantMarrakech.
o (R6) D'afficher les employés habitant Agadir et le nombre d'enfants >2.
. (R7) D'afficher la lisûedes employés(nom, prénom) habitantMarrakechavec un tri
croissantsur le nom.
o (R8) D'afficher la liste des différentesvilles où habitenttous les employéssans
doublon.
UN IVERSITE IB N ZOHR 09tt1t2008
ECOLE NATIONALE I}E COMMERCE
ET DE GESTION- AGADIR

TP No2- 3 è me année
N.B. Veuillezne pas utiliser Ie génerateur des requêtes. Notez toutes vos requ&es dans unftchier bloc notcs d
enregifu-le dans votre cle.

1) En utilisant la requête de creation d=une base de données. créez une base de données r<Scolaité >>
S5'ntaxe: CR"EATE DATABASE <NottlBase>
2l Créezensuiteunetableappelée< Etudiants_tbl> enutilisantunerequêteSQL a1'antleschamps
sulvants:
Code(Auto-incrément),Nom (25 caracteres),Prénom(25 caractères), Adressc(50 caractères),
Ville (30 caractères), (Date).
DateNaissance Nivcau (entierinfcrieur
à 255),
Syntare: CREATE TABLE <nom_table>(
CodcTINYINT NOT NULL AlIl'O INCREMENT .
){oru V,\RCIIAR( 25 ) NO'f NLLL ,

Niveau... NOT NULL ,


PRIMARY KEY f Code) );
3) doutez un nouveauchampà la table : téléphone(12 Caractères).
en permettantles valeursnulles.
VARCHAR( - - ) NOT NULL AFTER 'Niveau' .
Syntaxc: ALTER TABLE <nom_table'AI)D <nom_champ>
à I'aidede la requêteSQL (Insert)3 enregrstrements
4) Saisisscz :
S1'ntaxe:INSERTINTO <nom_tabl* ( Code,NoIn, ...) VALUES (",'Ahmadi','Ali');
Code Nom PÉnom Adresse Ville DateNaissanceNiveau Téléphone
1 AhmadiAli NLTLL Agaclir1987-11-03 3
2 Kasmi MohameditiLiLL Agadir 1980-02-02 2
3 Faridi Asmae 45-bd Moukau'amaAgadir 1989-11-24 I

5) Saisissez
le resteà I'aidede l'éditeur:
irlrntificateut Nom BÉrfrm Arh'essc \rlllr P1!ùltfr,lugs Niveau
4 Saidi Salma 56,bd dc lrltance Mmakech 1984-05-10 4
5 Ben Ali Kacem 45- nrc d'Agadir Casablanca1988-'07-14 2
6 Sabir Fatima-Ezzahra
BLOC 45- N'456 DaoudiatMarrahech 0000-0040 2
7 Manak Touria î7-ntedeMarrakech Agadir 1986-12-24 3
8 El Alami Rachid 56-me ibn toumertSonika Rabat 0000-00-00 I

6) RequêtesSélection:
(R1) Affichez la liste desnornset prénomsdespersonnes habitant< Marrakech> ou < Agadir > en effectuantun
tri croissantsur le nom
(R2) Affichezla liste desnomset prénomsdespers{Jnnes n'habitant ni < Marrakech>, ni n Agadir>
(R3) Affrchezla liste desvilles sansdoublons,ordonnéede façondécroissantc
(R4) Affichezla liste desnom et prénomsd'au marimum 3 personnes différentesde < Marzak> avectri
croissant.
(R5) Liste desnomset prénomsdesélèresdont le niveauestentreI et 3 (UtiliserBetrveen).avecun ordre
décroissant sur le nonrbred'enfants.
@6) Liste desnomset prénomsdesélèvesdont le niveauprendlesvaleurs: l, 2 ou 4 (Utiliser IN). at€c un
ordredecroissant sur le nornbred'enfants.
(RT) Liste desnomset prénomsdesélèr'esdont la ville cst soit : Marrakech,Agadir,Casablanca ou Rabat.
@8) Liste despersonnes dont le nom commence par la lettre( S >)(Utilisez LIKE 'S%o')
(R9) Liste despersonnes dont le norncontient la lettre( S > (UtilisezLIIË)
(R10) Listedespersonnes dont te nom commencepar n'importequelcaractèreet lc 2è'""et 3è'n'sont( ab))
(UtilisezLIKE av'ecles cafactèressBeciaux7o et )
(R11) Liste despersonnes qui sontnésavant1989(UtilisezYEAR(x) pour conertir).
(R12)Affichezlenombredepersonnesa1antunniveaususrieurouégalà3@).

7) Ecrire une requêtequi permet de modifier la ville de I'cnrcgistremcntdont I'identificateur est 3 de


la valeur Agadir à Rabat.
Syntaxe: IIPDATE <nom._tablPSET <nom_champ)= '...' \ilHERE <nom_champ> = ...
8) Copiez votre table dans une autre basede donnéesen utilisant <<Opérations )) et notez votre SQL
généré.
UNIVERSITE IBN ZOHR l6-l l-2008
ECOLE NATIONALE DE COMMERCE
ET DE GESTION -AGADIR
Matière : Inforrnatique
TPNoI- LangagePI{P - 55

Exercice I
On souhaiteafficherdansune pageWeb appeléeExercicelTpl.php la dateet I'heue du jour. Iæ format
désireest le zuivant:
Nous somrnesLe z 4 Février 2007.
II est 1,0 :30.
Ecrire le programrnePHP correspondant

Exercice2
Soit le prograrnmePHPzuivant :

<?php
$t r uc = ttstrt
ec ho 9t r uc . r ". get t l4 g e ( 9 t r u c ) . " <B R >\ n " , .
$t r uc = $t nr c . n2" ;
ec ho $t r uc . " ". get t l p e ( $ t r u c ) . " <B R >\ n " , .
$t r uc = $t r uc * S;
ec ho $t r uc . " ". get t lp e ($truc) . "(BR)\n",.
$t r uc = $t r uc . "2";
ec ho $t r uc . " ". get t l p e ( $ t r u c ) . " <B R >\ n " , .
$t r uc = $t r uc / L00;
ec ho $t r uc . " ". get t lp e ( $ t r u c ) . "(BR)\n",.
?>
1) rntégru ceprogrirmmedansrmepageweb appelê Exercice2Tpl . php
2) FaitesI'exécutionde ce progmnme
3) Quel est le rôle de I'insùuction gettlpe ? Peut-onchangerles tlpes des variatrlesproposées ?
Comment?
4) EffectuezI'affichage précedenten laissantun interligne entre les différents afrchageset modifiezla
couleurde chaqueaffichage?
5) Modifiez votre programmepour ajouterà la fin devos af,hchages laligne suivante:
Les types utilisés sont : string - string - integer - string - double

Exercice 3
Affichez dansune pageweb intituléeExercice3Tpl.php la phrasesuivante<<Ceciest une ligne créée
runiquenrent enPIIP >.
Affichez la'ligrresuirante: < ceci estla 2u""phrasecrééearec pFIp >.
Créezà la ligne suivanteun lien sru le sitedeI'ENCG (rr1n:Cgg*Ag4dll=acJ!ôi.

Erercice4
Déclarez2 r'ariables: nornet prénom.Les initialiserarec les valerus< Almudi >>et ( Ali >>et les aflichersur la
pageExercj.ce4Tpl. php en utilisant3 modessyntaxiqræs différents:
- 2 commandesecho:
- I commandeechoaver I seulechaînede caractères;
- I commandeechoavecle point de concaténation.

Exercice5
Cræzdansrue pagetileb intituléeExercice5Tpl . php unebalisede Titre Hl : <<Calculsw lesvariables>.
Affectpzrespectivementles valeurs0.2M,150 et l0 au,xvariablesTVA, prix et Nombre.Calculezle prix HT et
le prix TTC pour les l0 articleset les afficher. On afficheraégalemeirtle type de chaquevariableroràe ceci :
Le mo nta nt HT es È égal à 1500 et es t d e t y p e e n t i e r .
Le montant TTC est égaI à L809 et est de ty?e double.
La varia ble 150 es t de t y ?e I nt eger .
La varia ble 0. 206 es t de t y pe dor , r ble.
La va riab le 150 es t de t y pe f nt eger .
N'oubliez pasd'ajouterles commentairespour chaqueinstnrction.

Exercice6
Ciæz unepageintituleeexercice 6Tp1. php en affectantrespectivement lesvaleurs150,50 et l0 auxvariables
prix-table, prix-armoire et Nombre.Calculezle prix HT total pour les l0 armoireset I'afficher. Comparezle prix de
l'armoire et de la tableet affichezquel estle prix le plus élevé.
T]N TæRSITEIBN ZOHR 29-t2-2W8
ECOLE NATIONALE DA COMMNRCE
ET DD GESTION- AGADIR
Itfietière: trnformatique
TPNo4- Langage PIIP- 3* Annéc
ExerciceI
Afrectz unevalernà la rnariableSN et affichezla sommedesentiersde I à $t{.
a) utilisez laboucle \ilhile
b) utilisezlaborcle For
Exercicez
a) Qrc frit le programmesuivant:
<lphp
ccho"ExempleN"l :4v)";
fot (gi = l; $i <:61 $i++1
{
echo"S1mtære standan{itéræionNo".$i."Qr>" ;
)
ln>
b) Transfonnezce programmeen utilisant la boucleWHTLE?

Initialisez un tableau& 4 cases(cmtenantdesnombresen diûams) et en fair€ la cmversion €,neurros(l Euro :


10 Dhs) enutilisant desprocédures.On afficherala sommetoale descasesdu tableauen euros,ainsi quecbaque
casedu tableau.Vous pouvezutiliser la procéûre <<Pconversion>, la procéôlrec Paf,ichage> et la fonction
<<Fsonmc >. Intégrezcesprocédueset fonctims drns rm aûne fichier appclé< proccdurcs.php >.
N.B. Vonspouvezutiliser les nombressuivantspour obte,nirvæ résulffi : 3 Dhs,2 Dhs, l0 Dhs €t 5 Dhs.

ElerSi,çe4
font les suivants:
?pltp
Sch6nin{_SERVERI'REMOTE_ADDR'] ; echo$cbemin;
Saùessescrtpbq". ",$cbcmin;ç
if ($adrcssctQF=É"
I 93i)
) ccho o<br><li>Domaine: Frano{$adrccse[Ql)";
fr echo"{i>Adrcsse : $adrcsse[U.&drcssc[2J.$adresse[3]";

<tablc 6or'6q-rli> Pouvcavousdonncrquclryes exemplcsd'utilisdim dcs


<û'xtdx/tù fonctionssru les chaînesdc caracthesnrcs cn cours.
<?php 't/ rublf //elûait une chalnede cractères
for (Sool= l; $col <= lZi $col++) { \, strlcr; //calculs la longuarr d'une chaîne
echo'(td>',Scol,'<7g;;'; .J chr; //Codeascii+ crætèîe
) .J Trin ilqrlèveaertains caractbes
echo'</tr>"; .J Sffi /e|ûait deschalnesà partir d'un urte cæac.tèrc
tut (ff = l; $li + l2i $li+t; 1 ./ Erplodc /transforme unc chalnecn tableau
echo'<r><td>', $li"'<46;"'t strlen("Metlcs bouædèsl'ilbc à mon mobih horneà Nimes
for($col = l; &ol <= l2i $ool++11 !" );
ocho'<d>',tlit$col,'{td>'; addslastre{"c'éûaitl'été") ;
) substrf ingrcnodi",3,5);
ecio'</tr>,; ssû("ordin*eur",'n") ;
) tin(" trrc ");
$e oçtoA{";', "rur;deurqtmis");
</lablc>

Sxefcice6
Ëcrir€ un formulairequi demandele nom et l'âgede I'utilisatcrr. Le boutonsubmitde ce formulaireprrvoqu€ra
I'aûfrchaggd'unepagÊqui salueraI'rrtilisarcrnavecçefieÈrasc : < Bo4jow machin vtus ava Æ tnt-.. > (avec
lesbonnesvalerns,bien entendu).

Exercice7
Consfidre unc pagequi permetteà un utilisaæurde saisirun nom et un mot de passe.RenvoyezI'utilisateu sur
uneauûr pcgesi son mot de passeest corrpctou norl.
N-8. Le mot & passÊest : s rzerty D.
SurcettedeuxièmcpagepÉvoir un boutonretour.
UNIVERSITE rIlN ZOHR t t lo t t 2 0 0 9
ECOLE NITTOXILE DE COMMERCE
ETrDnGnsuoN-AcADrR

TP No5- 3ème année

EXERCICE I

On considèreunetableClient définiepar leschampszuivants:


Code,Nom, Prénonr,Adresse,CodePostal, Adresse,Villg TéléphongSiteWeb.

a) En utilisantPHPMyAdmin essayezde créercettetableen ajoutant6 enregistrements


devotre choix
b) Connectez-vous enzuiteà la basede donnéeset affichezla listedetous lesclientsà
I'aided'un programme
c) Refaitesla mêmequestion,maiscettefois-ci,affrchezles clientsdansun tableau
d) .Transformez le programmec) enun fichier externecontenantlesfonctionsdontvous
aurezbesoinet utilisezrequire.

EXERCICE tr

a) Pour commencez, creez d'abord la table client_tblavecla reçÉte Createconrmezuit :

CREATE TABLE clients tbl (id INT not nult AUTO*INCREMENT. preuomVARCHAR {50) not null .
nonrVARCIIAR (50) not null . rre le DATE not null . r,ille VARCHAR (90) not null . enfarrtsINT not rmll
. PRIh{ARYKEr* (id))

b) Creæzun formulaire et le programme correspondent qui permet d'insérez les données


suivantesdansvotre table :
-l4-+j-,f^-H-++++++#"H++.t--"-++"r++-.1-l* i-++-|+-++H-++*++*++.r-+ +J,-++]-++-J--L+i-+++-i-++*t"
-l id '* prenom + nom -i' ne_Ie + rille -r- enfants "1-
-i-f-+-t"l-#+-l-+-i+fl"+{-#-"f-l-'+-f-H++-È-i-++ +-i--H-+"1-+'}++"++t-r*+-à-++-+-È+'t-t-'+*'l^'}'}-+'t-}'+i-l-{-i-''-'l-i-++--j
-l- I '- Patrick "t- Martin + 1965/10/08+ Bordeatux "l' 2 -l-
'.i.++*i-'i-#+--i.++-+-{.-+++"|_!|--i.-j.+.i'-j^+.+-Fl'.i.i"++*i.-F-|.!-+-F++++++*t".++.i.-|-+-j'++
+- 2 + Iulien 'l- Lebreton-l- 196{/02121'r Paris -i- 7 '}-
-F+i-.r-+-i-+++++--l*++++++H'++l-jFH++-.i-+l-+11+H,-l-+++# i-r-pi+-**+#-++-f-l--J-1-.+++1-++-i-J-++
+ 3 '+ Marc + Richard + 19-18/0+/15+" Lille + { -i'
-1-;1+-r**+-+-+-++i+*rL*{-j-t-{-i-J-++#-i+-+i-'+-F+-fJ-i-.-i-+J.#-i--H'i-#.-.H-+.#--l-.1+#-H.+.#.r-+.+i-+-{-
-r + + Fraricis '+ Perrin + l982il2l05-r Paris + 0 +
++{--l-l-'i'++'+#-!+#-Fi--l-'{*+-H-++S+..{i"*.i-j-*{-J-i-+-++..'++j-*-##f.*.i+1-H+*+#-ff-i*++-l-f
+ _5+ Daniel + Bacon + 19'14/07113 + Reims i- | -
-]-*-|+-l-++-+-i-l-+***-'t.++t-l#-*-.|-+{-*.}-+{-++l-+-++l-++J++=Ft-+#'H-'+"+J-l-1.*-i-*-{.".{*i-+-F-.i+*!+! F

c) CréezunboutonVérifier dansle mêmeformulairequi affrchedansuneautrepage


Webla liste desdonneesstockeesdansla table

d) Cræzdesprogrammes qui permettentde répondreauxrequêtessuivantes:


- Afiïchagedesnom et prénomsdespersonnes ayant2 enfants
- Affrchagedesnomset prénoms despersonnes quiontI ou2 enfurtsetquihabitent
lavillede
Paris

Ur