Listing du fichier l2aprog03.php
00001 <?php
00002
00003 # (gH) -_- l2aprog03.php ; TimeStamp (unix) : 20 Février 2013 vers 14:43
00004
00005 error_reporting(E_ALL | E_NOTICE | E_STRICT ) ;
00006
00007 ###########################################################################
00008 # #
00009 # exemple de programme php pour le cours Développement Web Avancé en L2 #
00010 # #
00011 ###########################################################################
00012 # #
00013 # #
00014 # Fonctions et Paramètres #
00015 # #
00016 # #
00017 ###########################################################################
00018
00019 # une fonction pour afficher les pourcentages entre 0 et 100
00020
00021 function pct($nombre) {
00022
00023 if (($nombre>=0) and ($nombre<=100)) {
00024 echo sprintf("%6.2f",$nombre)." %\n" ;
00025 } else {
00026 echo "?????? %\n" ; # affichage choisi pour une valeur non valide
00027 # autre choix possible: -1 % !! (à discuter)
00028 } ; # fin si
00029
00030 } # fin de fonction pct
00031
00032 # tests unitaires
00033
00034 pct(1/3) ; # réussi par affichage
00035 pct(200) ; # réussi
00036 pct("erreur") ; # discutable (1)
00037 pct("2 erreurs") ; # discutable (2)
00038
00039 # reprise de pct avec un nombre variables de décimales
00040 # (une décimale par défaut)
00041
00042 function pctd($nombre,$dec=1) {
00043
00044 # attention, fonction incomplète : il faudrait tester que la variable $nombre
00045 # est bien un nombre et que $dec est bien un entier
00046
00047 if (($nombre>=0) and ($nombre<=100)) {
00048 echo sprintf("%6.".$dec."f",$nombre)." %\n" ;
00049 } else {
00050 echo "?????? %\n" ;
00051 } ; # fin si
00052
00053 } # fin de fonction pct
00054
00055 # tests unitaires
00056
00057 pctd(1/3) ; # réussi
00058 pctd(1/7,2) ; # réussi
00059
00060 # définitions de tableaux
00061
00062 $tab1 = array() ; # aligner les = et les ;
00063 $tab1[0] = "janvier" ; # fait "vieille fille" mais montre au lecteur/lectrice
00064 $tab1[1] = "février" ; # le soin que l'on prend à
00065 $tab1[2] = "mars" ; # écrire le code ==> l'auteur n'est pas fainéant(e)
00066
00067 # mieux car on peut changer l'ordre les lignes facilement
00068
00069 $tab2 = array() ;
00070 $idx = -1 ;
00071 $idx++ ; $tab2[$idx] = "pierre" ;
00072 $idx++ ; $tab2[$idx] = "paul" ;
00073 $idx++ ; $tab2[$idx] = "jacques" ;
00074
00075 # une fonction pour créer un tableau aléatoirement avec des entiers entre 1 et 50
00076 # la taille du tableau est passée en paramètre, 10 valeurs par défaut
00077
00078 function tabAleat($taille=10) {
00079
00080 $leTab = array() ;
00081 for ($idx=0;$idx<$taille;$idx++) {
00082 $valAleat = rand(1,50) ;
00083 $leTab[$idx] = $valAleat ;
00084 } ; # fin pour idx
00085
00086 return($leTab) ;
00087
00088 } # fin de fonction tabAleat
00089
00090 # test unitaire (réussi par vérification de l'affichage) :
00091
00092 $unTableau = tabAleat() ;
00093 print_r($unTableau) ;
00094 echo " dans ce tableau, min = ".min($unTableau)." max = ".max($unTableau)."\n" ;
00095
00096 # une fonction pour page Web qui affiche un "array" en <table>
00097
00098 function array2table($leTableau) {
00099
00100 echo "<table cellpadding='5' cellspacing='5' class='quadrillage'>\n" ;
00101 $nbe = count($leTableau) ; # nbe = NomBre d'Eléments
00102 echo " <tr>\n" ;
00103 echo " <th align='right'>Indice</th>\n" ; # th, pas td
00104 echo " <th align='right'>Valeur</th>\n" ; # th, pas td
00105 echo " </tr>\n" ;
00106 for ($idx=0;$idx<$nbe;$idx++) {
00107 echo " <tr>\n" ;
00108 $jdx = $idx + 1 ;
00109 $elt = $leTableau[$idx] ;
00110 echo " <td align='right'> $idx </td>\n" ;
00111 echo " <td align='right'> $elt </td>\n" ;
00112 echo " </tr>\n" ;
00113 } ; # fin pour idx
00114 echo "</table>\n" ;
00115
00116 } # fin de array2table
00117
00118 # test unitaire réussi
00119
00120 array2table( tabAleat(5) ) ;
00121
00122 # test unitaire raté
00123
00124 array2table( "ok ?" ) ;
00125
00126 # une liste de sélection des jours de la semaine
00127
00128 $jours = "lundi mardi mercredi jeudi vendredi" ;
00129 $tabj = preg_split("/\s+/",$jours) ;
00130
00131 $numj = 0 ;
00132 echo "<select name='jourRDV'>\n" ;
00133 foreach ($tabj as $jour) {
00134 $numj++ ;
00135 echo " <option value='$numj'>$jour</option>\n" ; # remarquer l'indentation
00136 } # fin pour chaque
00137 echo "</select>\n" ;
00138
00139 ?>
La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file
mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)