$alimentation = array();
Jusque là, rien de bien compliqué, on a un tableau tout ce qu'il y a de plus ordinaire. Maintenant, on veut mettre un contenu dedans, mais ce contenu est lui-même composé de tableaux. Il faut donc déclarer chacun des éléments comme des tableaux :
$alimentation['viandes'] = array();
$alimentation['poissons'] = array();
$alimentation['produits laitiers'] = array();
Nos index "viandes", "poissons" et "produits laitiers" sont des chaines de caractères, mais de cette manière sont indiqués comme étant en quelque sorte les "tiroirs" où on va trouver le contenu.$alimentation['viandes']['boeuf'] = array();
$alimentation['viandes']['porc'] = array();
$alimentation['viandes']['volailles'] = array();
$alimentation['poissons']['poissons eau douce'] = array();
$alimentation['poissons']['poissons de mer'] = array();
J'ai arrêté là parce que le suivant est particulier : Si dans $alimentation['viandes']['boeuf'] je peux logiquement stocker "steak", "roti", "filet mignon", avec le lait, je ne peux plus subdiviser, donc, $alimentation['produits laitiers']['lait'] n'aurait pas de sens : là, je dois enregistrer une valeur "lait" et non un sous-tableau. Même chose pour "beurre" alors que "fromage" peut être un tableau : $alimentation['produits laitiers'] sera donc un tableau mixte avec deux sortes d'index. Ajoutons les valeurs, les explications suivent :
$alimentation['produits laitiers'][] = "lait";
$alimentation['produits laitiers'][] = "beurre";
$alimentation['produits laitiers']['fromages'] = array();
Là, j'ai à la fois des valeurs et un sous-tableau : ajoutons à ce dernier quelques valeurs :
$alimentation['produits laitiers']['fromages'][] = "camembert";
$alimentation['produits laitiers']['fromages'][] = "Tomme de Savoie";
$alimentation['produits laitiers']['fromages'][] = "Roquefort";
Là, tu as vu comment ajouter des valeurs dans un tableau indexé : le nom du tableau avec son index associatif auquel on ajoute des crochets vides et on assigne une valeur.$alimentation = array("Viandes", "Poissons", "Produits laitiers");
$alimentation['viandes'] = array();
$alimentation['poissons'] = array();
$alimentation['produits laitiers'] = array();
Le résultat serait exactement le même, mais la première méthode simplifie un peu... encore que ça reste une question de point de vue et d'habitude personnelle.<pre>
<?php
var_dump($alimentation);
?>
</pre>
affiche ta page et observe le résultat, tu devrais avoir quelque chose d'assez visuel pas trop complexe à comprendre.<?php
//sert à effectuer les changements et a positionner l'armée
$sql1 = mysql_query("SELECT x, y FROM armadas WHERE type = 'ville' AND pseudo = '".$pseudo."'");
$sql2 = mysql_fetch_array($sql1);
$table1 = array();
$varcolone = 0;
//case1, en haut a gauche
$x1 = $sql2['x'] - 1;
$y1 = $sql2['y'] + 1;
$vc11 = mysql_query("SELECT type FROM map WHERE x = '".$x1."' AND y = '".$y1."'");
$vc21 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x1."' AND y = '".$y1."'");
$vc12 = mysql_fetch_array($vc11);
$vc22 = mysql_fetch_array($vc21);
if($vc12['type'] == L AND $vc22 == 0)
{
$table1[$varcolone] = array('x' => ''.$x1.'', 'y' => ''.$y1.'');
$varcolone++;
}
//case2 au dessus
$x2 = $sql2['x'];
$y2 = $sql2['y'] + 1;
$vc211 = mysql_query("SELECT type FROM map WHERE x = '".$x2."' AND y = '".$y2."'");
$vc221 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x2."' AND y = '".$y2."'");
$vc212 = mysql_fetch_array($vc211);
$vc222 = mysql_fetch_array($vc221);
if($vc212['type'] == L AND $vc222 == 0)
{
$table1[$varcolone] = array('x' => ''.$x2.'', 'y' => ''.$y2.'');
$varcolone++;
}
//case3 en haut a droite
$x3 = $sql2['x'] + 1;
$y3 = $sql2['y'] + 1;
$vc311 = mysql_query("SELECT type FROM map WHERE x = '".$x3."' AND y = '".$y3."'");
$vc321 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x3."' AND y = '".$y3."'");
$vc312 = mysql_fetch_array($vc311);
$vc322 = mysql_fetch_array($vc321);
if($vc312['type'] == L AND $vc322 == 0)
{
$table1[$varcolone] = array('x' => ''.$x3.'', 'y' => ''.$y3.'');
$varcolone++;
}
//case4 a droite
$x4 = $sql2['x'] + 1;
$y4 = $sql2['y'];
$vc411 = mysql_query("SELECT type FROM map WHERE x = '".$x4."' AND y = '".$y4."'");
$vc421 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x4."' AND y = '".$y4."'");
$vc412 = mysql_fetch_array($vc411);
$vc422 = mysql_fetch_array($vc421);
if($vc412['type'] == L AND $vc422 == 0)
{
$table1[$varcolone] = array('x' => ''.$x4.'', 'y' => ''.$y4.'');
$varcolone++;
}
//case5 en bas a droite
$x5 = $sql2['x'] + 1;
$y5 = $sql2['y'] - 1;
$vc511 = mysql_query("SELECT type FROM map WHERE x = '".$x5."' AND y = '".$y5."'");
$vc521 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x5."' AND y = '".$y5."'");
$vc512 = mysql_fetch_array($vc511);
$vc522 = mysql_fetch_array($vc521);
if($vc512['type'] == L AND $vc522 == 0)
{
$table1[$varcolone] = array('x' => ''.$x5.'', 'y' => ''.$y5.'');
$varcolone++;
}
//case 6 en bas
$x6 = $sql2['x'];
$y6 = $sql2['y'] - 1;
$vc611 = mysql_query("SELECT type FROM map WHERE x = '".$x6."' AND y = '".$y6."'");
$vc621 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x6."' AND y = '".$y6."'");
$vc612 = mysql_fetch_array($vc611);
$vc622 = mysql_fetch_array($vc621);
if($vc612['type'] == L AND $vc622 == 0)
{
$table1[$varcolone] = array('x' => ''.$x6.'', 'y' => ''.$y6.'');
$varcolone++;
}
//case7 en bas à gauche
$x7 = $sql2['x'] - 1;
$y7 = $sql2['y'] - 1;
$vc711 = mysql_query("SELECT type FROM map WHERE x = '".$x7."' AND y = '".$y7."'");
$vc721 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x7."' AND y = '".$y7."'");
$vc712 = mysql_fetch_array($vc711);
$vc722 = mysql_fetch_array($vc721);
if($vc712['type'] == L AND $vc722 == 0)
{
$table1[$varcolone] = array('x' => ''.$x7.'', 'y' => ''.$y7.'');
$varcolone++;
}
//case8 à gauche
$x8 = $sql2['x'] - 1;
$y8 = $sql2['y'];
$vc811 = mysql_query("SELECT type FROM map WHERE x = '".$x8."' AND y = '".$y8."'");
$vc821 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x8."' AND y = '".$y8."'");
$vc812 = mysql_fetch_array($vc811);
$vc822 = mysql_fetch_array($vc821);
if($vc812['type'] == L AND $vc822 == 0)
{
$table1[$varcolone] = array('x' => ''.$x8.'', 'y' => ''.$y8.'');
$varcolone++;
}
$rand = rand(0, $varcolone);
echo 'x:'.$table1[$rand][x].' y:'.$table1[$rand][y].'<br />';
?>
<?php
//sert à effectuer les changements et a positionner l'armée
$sql1 = mysql_query("SELECT x, y FROM armadas WHERE type = 'ville' AND pseudo = '".$pseudo."'");
$sql2 = mysql_fetch_array($sql1);
$table1 = array();
$varcolone = 0;
//case1, en haut a gauche
$x1 = $sql2['x'] - 1;
$y1 = $sql2['y'] + 1;
$vc11 = mysql_query("SELECT type FROM map WHERE x = '".$x1."' AND y = '".$y1."'");
$vc21 = mysql_num_rows($vc11);
$vc12 = mysql_fetch_array($vc11);
if($vc12['type'] == L AND $vc12 == 0)
{
$table1[$varcolone] = array('x' => $x1, 'y' => $y1);
$varcolone++;
}
//case2 au dessus
$x2 = $sql2['x'];
$y2 = $sql2['y'] + 1;
$vc211 = mysql_query("SELECT type FROM map WHERE x = '".$x2."' AND y = '".$y2."'");
$vc221 = mysql_num_rows($vc211);
$vc212 = mysql_fetch_array($vc211);
if($vc212['type'] == L AND $vc212 == 0)
{
$table1[$varcolone] = array('x' => $x2, 'y' => $y2);
$varcolone++;
}
//case3 en haut a droite
$x3 = $sql2['x'] + 1;
$y3 = $sql2['y'] + 1;
$vc311 = mysql_query("SELECT type FROM map WHERE x = '".$x3."' AND y = '".$y3."'");
$vc321 = mysql_num_rows($vc311);
$vc312 = mysql_fetch_array($vc311);
if($vc312['type'] == L AND $vc312 == 0)
{
$table1[$varcolone] = array('x' => $x3, 'y' => $y3);
$varcolone++;
}
//case4 a droite
$x4 = $sql2['x'] + 1;
$y4 = $sql2['y'];
$vc411 = mysql_query("SELECT type FROM map WHERE x = '".$x4."' AND y = '".$y4."'");
$vc421 = mysql_num_rows($vc411);
$vc412 = mysql_fetch_array($vc411);
if($vc412['type'] == L AND $vc412 == 0)
{
$table1[$varcolone] = array('x' => $x4, 'y' => $y4);
$varcolone++;
}
//case5 en bas a droite
$x5 = $sql2['x'] + 1;
$y5 = $sql2['y'] - 1;
$vc511 = mysql_query("SELECT type FROM map WHERE x = '".$x5."' AND y = '".$y5."'");
$vc521 = mysql_num_rows($vc511);
$vc512 = mysql_fetch_array($vc511);
if($vc512['type'] == L AND $vc512 == 0)
{
$table1[$varcolone] = array('x' => $x5, 'y' => $y5);
$varcolone++;
}
//case 6 en bas
$x6 = $sql2['x'];
$y6 = $sql2['y'] - 1;
$vc611 = mysql_query("SELECT type FROM map WHERE x = '".$x6."' AND y = '".$y6."'");
$vc621 = mysql_num_rows($vc611);
$vc612 = mysql_fetch_array($vc611);
if($vc612['type'] == L AND $vc612 == 0)
{
$table1[$varcolone] = array('x' => $x6, 'y' => $y6);
$varcolone++;
}
//case7 en bas à gauche
$x7 = $sql2['x'] - 1;
$y7 = $sql2['y'] - 1;
$vc711 = mysql_query("SELECT type FROM map WHERE x = '".$x7."' AND y = '".$y7."'");
$vc721 = mysql_num_rows($vc711);
$vc712 = mysql_fetch_array($vc711);
if($vc712['type'] == L AND $vc712 == 0)
{
$table1[$varcolone] = array('x' => $x7, 'y' => $y7);
$varcolone++;
}
//case8 à gauche
$x8 = $sql2['x'] - 1;
$y8 = $sql2['y'];
$vc811 = mysql_query("SELECT type FROM map WHERE x = '".$x8."' AND y = '".$y8."'");
$vc821 = mysql_num_rows($vc811);
$vc812 = mysql_fetch_array($vc811);
if($vc812['type'] == L AND $vc812 == 0)
{
$table1[$varcolone] = array('x' => $x8, 'y' => $y8);
$varcolone++;
}
$rand = rand(0, $varcolone);
echo 'x:'. $table[$rand][x] .' y:'. $table[$rand][y] .'<br />';
?><?php
//sert à effectuer les changements et a positionner l'armée
$sql1 = mysql_query("SELECT x, y FROM armadas WHERE type = 'ville' AND pseudo = '".$pseudo."'");
$sql2 = mysql_fetch_array($sql1);
$table1 = array();
$varcolone = 0;
//case1, en haut a gauche
$x1 = $sql2['x'] - 1;
$y1 = $sql2['y'] + 1;
$vc11 = mysql_query("SELECT type FROM map WHERE x = '".$x1."' AND y = '".$y1."'");
$vc21 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x1."' AND y = '".$y1."'");
$vc12 = mysql_fetch_array($vc11);
$vc22 = mysql_result($vc21, 0, 0);
if($vc12['type'] == L AND $vc22 == 0)
{
$table1[$varcolone] = array('x' => ''.$x1.'', 'y' => ''.$y1.'');
$varcolone++;
}
//case2 au dessus
$x2 = $sql2['x'];
$y2 = $sql2['y'] + 1;
$vc211 = mysql_query("SELECT type FROM map WHERE x = '".$x2."' AND y = '".$y2."'");
$vc221 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x2."' AND y = '".$y2."'");
$vc212 = mysql_fetch_array($vc211);
$vc222 = mysql_result($vc221, 0, 0);
if($vc212['type'] == L AND $vc222 == 0)
{
$table1[$varcolone] = array('x' => ''.$x2.'', 'y' => ''.$y2.'');
$varcolone++;
}
//case3 en haut a droite
$x3 = $sql2['x'] + 1;
$y3 = $sql2['y'] + 1;
$vc311 = mysql_query("SELECT type FROM map WHERE x = '".$x3."' AND y = '".$y3."'");
$vc321 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x3."' AND y = '".$y3."'");
$vc312 = mysql_fetch_array($vc311);
$vc322 = mysql_result($vc321, 0, 0);
if($vc312['type'] == L AND $vc322 == 0)
{
$table1[$varcolone] = array('x' => ''.$x3.'', 'y' => ''.$y3.'');
$varcolone++;
}
//case4 a droite
$x4 = $sql2['x'] + 1;
$y4 = $sql2['y'];
$vc411 = mysql_query("SELECT type FROM map WHERE x = '".$x4."' AND y = '".$y4."'");
$vc421 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x4."' AND y = '".$y4."'");
$vc412 = mysql_fetch_array($vc411);
$vc422 = mysql_result($vc421, 0, 0);
if($vc412['type'] == L AND $vc422 == 0)
{
$table1[$varcolone] = array('x' => ''.$x4.'', 'y' => ''.$y4.'');
$varcolone++;
}
//case5 en bas a droite
$x5 = $sql2['x'] + 1;
$y5 = $sql2['y'] - 1;
$vc511 = mysql_query("SELECT type FROM map WHERE x = '".$x5."' AND y = '".$y5."'");
$vc521 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x5."' AND y = '".$y5."'");
$vc512 = mysql_fetch_array($vc511);
$vc522 = mysql_result($vc521, 0, 0);
if($vc512['type'] == L AND $vc522 == 0)
{
$table1[$varcolone] = array('x' => ''.$x5.'', 'y' => ''.$y5.'');
$varcolone++;
}
//case 6 en bas
$x6 = $sql2['x'];
$y6 = $sql2['y'] - 1;
$vc611 = mysql_query("SELECT type FROM map WHERE x = '".$x6."' AND y = '".$y6."'");
$vc621 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x6."' AND y = '".$y6."'");
$vc612 = mysql_fetch_array($vc611);
$vc622 = mysql_result($vc621, 0, 0);
if($vc612['type'] == L AND $vc622 == 0)
{
$table1[$varcolone] = array('x' => ''.$x6.'', 'y' => ''.$y6.'');
$varcolone++;
}
//case7 en bas à gauche
$x7 = $sql2['x'] - 1;
$y7 = $sql2['y'] - 1;
$vc711 = mysql_query("SELECT type FROM map WHERE x = '".$x7."' AND y = '".$y7."'");
$vc721 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x7."' AND y = '".$y7."'");
$vc712 = mysql_fetch_array($vc711);
$vc722 = mysql_result($vc721, 0, 0);
if($vc712['type'] == L AND $vc722 == 0)
{
$table1[$varcolone] = array('x' => ''.$x7.'', 'y' => ''.$y7.'');
$varcolone++;
}
//case8 à gauche
$x8 = $sql2['x'] - 1;
$y8 = $sql2['y'];
$vc811 = mysql_query("SELECT type FROM map WHERE x = '".$x8."' AND y = '".$y8."'");
$vc821 = mysql_query("SELECT count(*) FROM armadas WHERE x = '".$x8."' AND y = '".$y8."'");
$vc812 = mysql_fetch_array($vc811);
$vc822 = mysql_result($vc821, 0, 0);
if($vc812['type'] == L AND $vc822 == 0)
{
$table1[$varcolone] = array('x' => ''.$x8.'', 'y' => ''.$y8.'');
$varcolone++;
}
$varcolone2 = $varcolone - 1;
$rand = rand(0, $varcolone2);
echo 'le rand'.$rand.'<br />';
echo 'x:'.$table1[$rand]['x'].' y:'.$table1[$rand]['y'].'<br />';
?>