Bonjour,
je vais donner un exemple concret de ce que je veux faire sinon ca va etre un peut dure de comprendre:
- jai une premiere page avec un formulaire qui me permet de créer un tableau a deux dimension, il fait ca de cette facon :
on voit ici qu'il crée un table, et un fichier en plus, dans le fichier il insere ce que contient le tableau, au début il y a soit des CN CO donc il se compose de cette facon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 $nb_colonnes = $_POST['nb_colonnes']; $nb_lignes = $_POST['nb_lignes']; $nb_mines = $_POST['nb_mines']; for ($x=1;$x<=$nb_lignes;$x++) { echo "<tr>"; for ($y=1;$y<=$nb_colonnes;$y++) { $array[$x][$y] = 'CN'; $valeur = $array[$x][$y]; echo "<td><form name='form1' method='post' action='query.php'><input type='hidden' value='$x' name='coor_x'/><input type='hidden' value='$y' name='coor_y'/><input type='image' src='terrain.jpg' value='submit' value='$x$y' id='submit'/></form></td>"; } echo "</tr>"; } for ($i=1;$i<=$nb_mines;$i++){ $x = rand( 1, $nb_lignes ); $y = rand (1 , $nb_colonnes ); $array[$x][$y] = 'CO'; echo $x.$y; echo $array[$x][$y]; } $fp = fopen ("grille.txt", "w"); fseek ($fp, 0); for ($x=1;$x<=$nb_lignes;$x++) { for ($y=1;$y<=$nb_colonnes;$y++) { if($y==$nb_colonnes){ fputs ($fp, $array[$x][$y]);} else{ fputs ($fp, $array[$x][$y].","); } } fputs ($fp, "\r\n"); } fclose ($fp);
le tableau créé sur la page ressemble a ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CN,CN,CO,CN,CN CN,CO,CN,CN,CO CN,CN,CN,CN,CN CN,CN,CN,CN,CN CN,CN,CN,CN,CN
au dessus cest juste un aide mémoire pour voir ou se situe les CO dans le fichier texte ainsi que dans le tableau array!
Par la suite, lorsque je clic sur n'importe quelle case du tableau, ca va me submit un formulaire contenant les coordonnée de x et y dans le tableau, et me renvoyer sur une autre page afin de modifier le fichier texte, je m'explique :
la page de query va tout dabord récupérer les coordonées :
puis apres le but est de modifier le fichier text, si la valeur du tableau array de la case sur la quelle on a cliqué sur le tableau table est CN, on remplace CN par VN dans le fichier text, alors que si cest CO, on remplace CO par VO...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $coor_x = $_POST['coor_x']; $coor_y = $_POST['coor_y'];
j'ai fait comme ca :
mais il y a un petit probleme, ca écrit avec un décalage parfois, et parfois ca n'écrit pas!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 $file = "grille.txt"; if(file_exists($file)) { $tab = file($file); $tab_total = count($tab); $donnee = explode(",",$tab[$coor_x-1]); #echo $donnee[$coor_y-1]; #print_r($tab); echo $tab[$coor_x][$coor_y]; if( $donnee[$coor_y-1] == 'CN' ){ #echo $tab[$coor_x-1][$coor_y-1]; $tab[$coor_x-1][$coor_y-1] = 'VN'; }elseif ( $donnee[$coor_y-1] == 'CO' ){ #echo $tab[$coor_x-1][$coor_y-1]; $tab[$coor_x-1][$coor_y-1] = 'VO'; } $newone = ""; for ($i=0;$i<$tab_total;$i++){ $newone .= $tab[$i]; } $ouvre=fopen("grille.txt","w+"); fwrite($ouvre,$newone); fclose($ouvre); }
pour donner un exemple avec ce tableau, si je clic la :
la case de array va contenir CO, dans le fichier texte, ca devra donner VO, et la sa donne :
ps : il faut faire attention ici avec les tableau qui commnce a 0 ou 1 on s'emmele vite les pinceaux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CNVCN,CO,CN,CN CN,CO,CN,CN,CO CN,CN,CN,CN,CN CN,CN,CN,CN,CN CN,CN,CN,CN,CN
pour vous aider je vous donne meme le script ^^ ici : dem.rar
Partager