MySql seul en ligne de commande
Création de la table PERSI
drop table if exists PERSI ; create table PERSI ( nomPers varchar(45) , numServ int(3) ) ; # fin de createFichier-texte correspondant creePERSI.mysql
Exemples d'insertion dans la table PERSI
insert into PERSI (nomPers,numServ) values ("Dupond",1) ; insert into PERSI (nomPers,numServ) values ("Durant",2) ; insert into PERSI (nomPers,numServ) values ("Bricedenice",1) ; insert into PERSI (nomPers,numServ) values ("Durand",2) ; insert into PERSI (nomPers,numServ) values ("Duchemin",2) ;Fichier-texte correspondant rempPERSI.mysql
Exemples d'interrogation de la table PERSI
select * from PERSI ; select nomPers from PERSI ; select distinct(numServ) from PERSI ; select nomPers, numServ from PERSI order by numServ,nomPers ; select numServ,count(numServ)," personnnes " from PERSI group by numServ order by numServ ;Fichier-texte correspondant intePERSI.mysql
Html/Php/MySql en interrogation
Comptage du nombre de personnes
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req1 = " select count(*) from PERSI" ; $res1 = mysql_query($req1) ; $lir1 = mysql_fetch_array($res1) ; $nb = $lir1["count(*)"] ; echo " il y a $nb personnes en tout\n<p>" ; ?>Test du programme cntePERSI.php
Affichage des personnes par nom
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req2 = " select nomPers from PERSI order by nomPers " ; $res2 = mysql_query($req2) ; print "Liste alphabétique numérotée des personnes\n" ; print "<table>\n" ; print "<tr><th align=\"right\">Personne</th><th align=\"left\"> Nom</th></tr>\n" ; $nbp = 0 ; while ($lir2= mysql_fetch_array($res2)) { ; $nbp++ ; $nom = $lir2["nomPers"] ; print "<tr><td align=\"right\">$nbp</td><td> $nom</td></tr>\n" ; } ; # fin de tant que print "</table>\n" ; ?>Test du programme nomsPERSI.php
Affichage des personnes par numéro de service
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req3 = " select numServ, nomPers from PERSI order by numServ " ; $res3 = mysql_query($req3) ; print "Liste par service avec comptage des personnes \n" ; print "<table>\n" ; print "<tr>\n" ; print "<th align=\"right\">Service</th>" ; print "<th align=\"right\">Personne</th><th align=\"left\"> Nom</th></tr>\n" ; $oserv = 0 ; $nbps = 0 ; while ($lir3= mysql_fetch_array($res3)) { ; $srv = $lir3["numServ"] ; if ($srv==$oserv) { $nbps++ ; } else { $nbps = 1 ; } ; $nom = $lir3["nomPers"] ; print "<tr>"; print "<td align=\"right\">$srv</td>" ; print "<td align=\"right\">$nbps<td> $nom</td></tr>\n" ; $oserv = $srv ; } ; # fin de tant que print "</table>\n" ; ?>Test du programme servPERSI.php
Html/Php/MySql en mise à jour
Création de la table SERVI
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req = " drop table if exists SERVI " ; $res = mysql_query($req) ; $req = "" ; $req .= " create table SERVI ( " ; $req .= " numServ int(3), " ; $req .= " nomServ varchar(45) " ; $req .= " ) " ; $res = mysql_query($req) ; if ($res==1) { echo "la table SERVI a été crée.</h2>" ; } else { echo "erreur de création pour la table SERVI </h2>" ; } ; # fin de si ?>Test du programme creeSERVI.php
Remplissage de la table SERVI sans formulaire
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req = "insert into SERVI (numServ,nomServ) values (1,\"Gestion du Personnel\") " ; $res = mysql_query($req) ; $res = mysql_query("insert into SERVI (numServ,nomServ) values (2,\"Achats\")") ; print " en principe la table SERVI a été remplie " ; ?>Test du programme rempSERVI.php
Remplissage de la table SERVI avec formulaire
<? # début du formulaire print "<form action=\"rempSERVIf1.php\" method=\"post\">\n" ; print "<table>\n" ; print "<tr>\n" ; print "<td>\n" ; print "Nom \n" ; print "</td>\n" ; print "<td>\n" ; print "<input type=\"text\" name=\"nom\">\n" ; print "</td>\n" ; print "</tr>\n" ; print "<tr>\n" ; print "<td>\n" ; print "Service \n"; print "</td>\n" ; print "<td>\n" ; print "<input type=\"text\" name=\"srv\">\n" ; print "</td>\n" ; print "</tr>\n" ; # fin du formulaire print "<tr>" ; print "<td>" ; print "</td>" ; print "<td align=\"right\">" ; print "<input type=\"submit\" value=\" envoi \">" ; print "</td>" ; print "</tr>" ; print "</table>" ; print "</form>"; ?>Test du programme rempSERVIf.php Voici le texte du programme appelé par le formulaire :
<? $lenom = $_POST["nom"] ; $lesrv = $_POST["srv"] ; mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $res = mysql_query("insert into PERSI (numServ,nomPers) values ($lesrv,\"$lenom\")") ; print " suite au formulaire, j'ai ajouté dans la table PERSI les informations " ; print " nom=$lenom num=$lesrv \n "; ?>Remplissage de la table PERSI avec formulaire et liste déroulante
<? # début du formulaire print "<form action=\"remplitSERVIff.php\" method=\"post\"\>\n" ; print "<table>\n" ; print "<tr>\n" ; print "<td>\n" ; print "Nom \n" ; print "</td>\n" ; print "<td>\n" ; print "<input type=\"text\" name=\"nom\">\n" ; print "</td>\n" ; print "</tr>\n" ; # recherche des services, # stockage dans un tableau associatif # préparation de la liste déroulante print "<tr>\n" ; print "<td>\n" ; print "Service \n"; print "</td>\n" ; print "<td>\n" ; print "<select name=\"serv\">\n" ; mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req = "select numServ, nomServ from SERVI " ; $res = mysql_query($req) ; while ($lr = mysql_fetch_array($res)) { $nums = $lr["numServ"] ; $noms = $lr["nomServ"] ; $tnum[$noms] = $nums ; print "<option>$noms\n" ; } ; # fin de tant que print "</select>\n" ; print "</td>\n" ; print "</tr>\n" ; # fin du formulaire print "<tr>" ; print "<td>" ; print "</td>" ; print "<td align=\"right\">" ; print "<input type=\"submit\" value=\" envoi \">" ; print "</td>" ; print "</tr>" ; print "</table>" ; print "</form>"; ?>Test du programme rempPERSIfl.php
Voici le texte du programme appelé par le formulaire :
<? # on récupère les informations # et on va chercher le numéro de service $lenom = $_POST["nom"] ; $lesrv = $_POST["serv"] ; mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req = "select numServ from SERVI where nomServ=\"$lesrv\" " ; $res = mysql_query($req) ; $lr = mysql_fetch_array($res) ; $nsrv = $lr["numServ"] ; # on peut donc insérer $res = mysql_query("insert into PERSI (numServ,nomPers) values ($nsrv,\"$lenom\")") ; print " suite au formulaire, j'ai ajouté dans la table PERSI les informations " ; print " nom=$lenom num=$nsrv [service=$lesrv] \n "; ?>Affichage des noms de personne avec nom de service
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req2 = " select distinct(nomPers),nomServ from PERSI,SERVI order by nomPers " ; $res2 = mysql_query($req2) ; print "Liste alphabétique des personnes\n" ; print "<table>\n" ; print "<tr>\n" ; print "<th align=\"left\"> Nom</th>\n" ; print "<th align=\"left\"> Service</th>\n" ; print "</tr>\n" ; $nbp = 0 ; while ($lir2= mysql_fetch_array($res2)) { ; $nbp++ ; $nom = $lir2["nomPers"] ; $ser = $lir2["nomServ"] ; print "<tr><td> $nom</td><td> $ser</td></tr>\n" ; } ; # fin de tant que print "</table>\n" ; ?>Test du programme nomsSERVI.php
Affichage des personnes par service
<? mysql_connect("forge","anonymous","anonymous") ; mysql_select_db("test") ; $req3 = "" ; $req3 .= " select PERSI.numServ, nomPers, SERVI.numServ as ns, nomServ from PERSI,SERVI " ; $req3 .= " where PERSI.numServ = SERVI.numServ " ; $res3 = mysql_query($req3) ; print "Liste par service avec comptage des personnes \n" ; print "<table>\n" ; print "<tr>\n" ; print "<th align=\"left\">Service</th>" ; print "<th>Personne</th><th align=\"left\"> Nom</th></tr>\n" ; $oserv = 0 ; $nbps = 0 ; while ($lir3= mysql_fetch_array($res3)) { ; $srv = $lir3["ns"] ; $nsrv = $lir3["nomServ"] ; if ($srv==$oserv) { $nbps++ ; } else { $nbps = 1 ; } ; $nomP = $lir3["nomPers"] ; print "<tr>"; print "<td>$nsrv</td>" ; print "<td align=\"right\">$nbps<td> $nomP</td></tr>\n" ; $oserv = $srv ; } ; # fin de tant que print "</table>\n" ; ?>Test du programme servSERVI.php
récupérez ici l'archive de tous les programmes :.
Interrogations de PERSI cntePERSI.php Noms des personnes nomsPERSI.php Numéros de services servPERSI.php Création de SERVI creeSERVI.php Remplissage de SERVI sans formulaire rempSERVI.php Remplissage de SERVI avec formulaire rempSERVIf.php Remplissage de SERVI avec liste déroulante   rempPERSIfl.php Liste des personnes nomsSERVI.php Liste des services servSERVI.php Améliorations souhaitées :
- modifier la table PERSI pour qu'il n'y ait pas de noms en double pour un même service ; on acceptera qu'une personne soit recensée dans deux services. - ajouter un comptage du nombre personnes par service avec pourcentage ; - ajouter un comptage du nombre personnes par service avec tableau récapitulatif des effectifs ; - ajouter un comptage du nombre personnes par service avec histogramme récapitulatif ; - interdire de saisir un couple (nom,num) déjà présent au niveau du formulaire ; interdire de saisir un nom vide, interdire de saisir un numéro de service qui n'est un entier compris entre 1 et 100 ; - modifier la table SERVI pour qu'il n'y ait pas de numéros de service en double ;
Retour à la page principale de (gH)