Départements de France

Départements de France - PHP - Programmation

Marsh Posté le 22-01-2006 à 20:55:07    

Salut,
 
J'ai un petit devoir pour demain les cours.
 
En fait je dois remplir cette feuille :
 
http://img384.imageshack.us/img384 [...] ser8ug.jpg
 
Et j'aimerai bien faire un ti script mais je ne sais pas comment faire pour insérer tout les départements dans chaque case qui convien...
 
J'ai fait un truc :
 

Code :
  1. <?php
  2. $dep = Array(
  3.         '01' => 'Ain',
  4.         '02' => 'Aisne',
  5.         '03' => 'Allier',
  6.         '04' => 'Alpes-de-Haute-Provence',
  7.         '05' => 'Hautes-Alpes',
  8.         '06' => 'Alpes-Maritimes',
  9.         '07' => 'Ardèche',
  10.         '08' => 'Ardennes',
  11.         '09' => 'Ariège',
  12.         '10' => 'Aube',
  13.         '11' => 'Aude',
  14.         '12' => 'Aveyron',
  15.         '13' => 'Bouches-du-Rhône',
  16.         '14' => 'Calvados',
  17.         '15' => 'Cantal',
  18.         '16' => 'Charente',
  19.         '17' => 'Charente-Maritime',
  20.         '18' => 'Cher',
  21.         '19' => 'Corrèze',
  22.         '2A' => 'Corse-du-Sud',
  23.         '2B' => 'Haute-Corse',
  24.         '21' => 'Côte-d\'Or',
  25.         '22' => 'Côtes-d\'Armor',
  26.         '23' => 'Creuse',
  27.         '24' => 'Dordogne',
  28.         '25' => 'Doubs',
  29.         '26' => 'Drôme',
  30.         '27' => 'Eure',
  31.         '28' => 'Eure-et-Loir',
  32.         '29' => 'Finistère',
  33.         '30' => 'Gard',
  34.         '31' => 'Haute-Garonne',
  35.         '32' => 'Gers',
  36.         '33' => 'Gironde',
  37.         '34' => 'Hérault',
  38.         '35' => 'Ille-et-Vilaine',
  39.         '36' => 'Indre',
  40.         '37' => 'Indre-et-Loire',
  41.         '38' => 'Isère',
  42.         '39' => 'Jura',
  43.         '40' => 'Landes',
  44.         '41' => 'Loir-et-Cher',
  45.         '42' => 'Loire',
  46.         '43' => 'Haute-Loire',
  47.         '44' => 'Loire-Atlantique',
  48.         '45' => 'Loiret',
  49.         '46' => 'Lot',
  50.         '47' => 'Lot-et-Garonne',
  51.         '48' => 'Lozère',
  52.         '49' => 'Maine-et-Loire',
  53.         '50' => 'Manche',
  54.         '51' => 'Marne',
  55.         '52' => 'Haute-Marne',
  56.         '53' => 'Mayenne',
  57.         '54' => 'Meurthe-et-Moselle',
  58.         '55' => 'Meuse',
  59.         '56' => 'Morbihan',
  60.         '57' => 'Moselle',
  61.         '58' => 'Nièvre',
  62.         '59' => 'Nord',
  63.         '60' => 'Oise',
  64.         '61' => 'Orne',
  65.         '62' => 'Pas-de-Calais',
  66.         '63' => 'Puy-de-Dôme',
  67.         '64' => 'Pyrénées-Atlantiques',
  68.         '65' => 'Hautes-Pyrénées',
  69.         '66' => 'Pyrénées-Orientales',
  70.         '67' => 'Bas-Rhin',
  71.         '68' => 'Haut-Rhin',
  72.         '69' => 'Rhône',
  73.         '70' => 'Haute-Saône',
  74.         '71' => 'Saône-et-Loire',
  75.         '72' => 'Sarthe',
  76.         '73' => 'Savoie',
  77.         '74' => 'Haute-Savoie',
  78.         '75' => 'Paris',
  79.         '76' => 'Seine-Maritime',
  80.         '77' => 'Seine-et-Marne',
  81.         '78' => 'Yvelines',
  82.         '79' => 'Deux-Sèvres',
  83.         '80' => 'Somme',
  84.         '81' => 'Tarn',
  85.         '82' => 'Tarn-et-Garonne',
  86.         '83' => 'Var',
  87.         '84' => 'Vaucluse',
  88.         '85' => 'Vendée',
  89.         '86' => 'Vienne',
  90.         '87' => 'Haute-Vienne',
  91.         '88' => 'Vosges',
  92.         '89' => 'Yonne',
  93.         '90' => 'Territoire de Belfort',
  94.         '91' => 'Essonne',
  95.         '92' => 'Hauts-de-Seine',
  96.         '93' => 'Seine-Saint-Denis',
  97.         '94' => 'Val-de-Marne',
  98.         '95' => 'Val-d\'Oise'
  99. );
  100. foreach($dep as $num => $nick)
  101. {
  102.         echo $num.' => '.$nick.'<br />';
  103. }
  104. ?>


 
Mais après la c'est pour les tableaux ://
 
Si quelqu'un peut m'aider sa serait bien cool !
 
Merci


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 22-01-2006 à 20:55:07   

Reply

Marsh Posté le 22-01-2006 à 21:20:19    

pas compris..

Reply

Marsh Posté le 22-01-2006 à 22:36:41    

Il demande qu'on lui fasse ses devoirs :D
 
Faut reprendre ce code, rajouter la structure d'une table html ou css et s'aider d'un modulo 3.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 22-01-2006 à 22:39:35    

tu passes à une nouvelle colonne tous les 24 élements de ton tableau
c'est bateau quand meme

Reply

Marsh Posté le 22-01-2006 à 22:41:37    

A oui, je croyais qu'il fallait faire plusieurs lignes ( d'où le modulo 3 4 )


Message édité par Ricco le 22-01-2006 à 22:42:00

---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 22-01-2006 à 23:21:04    

Voila j'ai fait cela :
 

Code :
  1. <?php
  2. echo '<table>
  3. </tr>';
  4. foreach($dep as $num => $nick)
  5. {
  6. if($num % 6 == 0)
  7.  echo '</tr><tr>'."\n";
  8. else
  9.       echo '<td>'.$num.'</td>
  10.  <td>'.$nick.'</td>'."\n";
  11. }
  12. echo '</tr>
  13. </table>';
  14. ?>


 
http://doktrashouze.free.fr/d.php
 
voila y'a un bug et je veux les chiffre qui se suivent horizontalement et non verticalement, c possible ?


---------------
“ Un avis d’un homme non avisé ne doit jamais être pris en compte par un homme avisé. ” Jean Plancher, en 1810, « Chez Bonaparte »
Reply

Marsh Posté le 23-01-2006 à 12:43:55    

tu fais 4 span cote a cote je pense

Reply

Marsh Posté le 23-01-2006 à 14:03:06    

T'es sur que ton code marche?
Il me semble que php refuse qu'on mette un ; devant un "else" vu que le ; finis l'instruction correspondant au "if". le "else" se retrouverait donc orphelin.
De plus tel que t'as écrit ton bout de programme, tu mettrais à la poubelle les départements dont le numéro est un multiple de 6 vu que dans ce cas là tu ne fais que changer de ligne et passer au département suivant sans avoir noter ton département dans la case.
 
En html, une ligne de tableau doit être constitué du même nombre de case que les autres lignes du tableau, où est ce que tu complétes ta derniére ligne?
 
Dernier truc : un tableau est remplis dans l'ordre indiqué dans le html. Si tu veux un ordre différent, il faut envoyer les données dans un autre ordre et donc passer par des variables intermédiares.

Reply

Marsh Posté le 23-01-2006 à 18:37:21    

je ne comprends pas pourquoi tu fais un modulo de 6. Tout les 6 departements tu passes à la lignes ?  
 
personnelement j'utiliserai la puissance d'un for (;;)
 
 

Code :
  1. for ($col1=&$dep[0], $col2=&$dep[24], $col3=&dep[48], $col4=&$dep[72] ; $col <=23 ; $col1++, $col2++, $col3++, $col4++)
  2. {
  3. <tr>
  4. <td>$col1</td>
  5. <td>$col2</td>
  6. <td>$col3</td>
  7. <td>$col4</td>
  8. </tr>
  9. }


 
Qu'est ce que j'ai fais ?
j'ai copié l'adresse du premier elements du tableau dep dans col1. col1 pointent vers $dept[0]. Donc lorsque j'incremente de 1 la valeur de col1, je pointe vers dep[1]
 
Mais je viens de me rendre compte qu'il n'y a malheuresement pas de notion de pointeur. Je crois que l'on ne peux pas faire ceci en PHP. Est ce que vous pouvez me le confirmez ?

Reply

Marsh Posté le 23-01-2006 à 18:41:10    

Et puis de toute facon, meme si le raisonnement est correct au niveau de la boucle, il ne faudra pas que j'affiche le contenu de col1, col2 .... qui est en fait l'adresse qu'il pointe MAIS il faudrais que j'affiche la valeur pointée.
 
En c/c++, ca serait  
#
<tr>
<td>*col1</td>
<td>*col2</td>
<td>*col3</td>
<td>*col4</td>
</tr>
 
bref, mon exemple n'est pas à suivre

Reply

Marsh Posté le 23-01-2006 à 18:41:10   

Reply

Marsh Posté le 23-01-2006 à 18:48:07    

En php, il y a des pointeurs. Mais en php il n'y a rien pour se déplacer d'un élément à l'autre en utilisant une variable initialisé par adresse.
Par contre, rien ne t'empéche de faire un $tab[24+$i] et c'est quand même plus facile à comprendre que la bidouille à coup de pointeur.

Reply

Marsh Posté le 23-01-2006 à 19:00:01    

omega2 a écrit :

En php, il y a des pointeurs. Mais en php il n'y a rien pour se déplacer d'un élément à l'autre en utilisant une variable initialisé par adresse.
Par contre, rien ne t'empéche de faire un $tab[24+$i]


arf oui, c'est pas bete ca ...
 
 

omega2 a écrit :

et c'est quand même plus facile à comprendre que la bidouille à coup de pointeur.


je sais pas mais qu'est ce que c'est genial quand on a compris le principe.  :whistle:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed