Page 1 sur 1

Remplir un tableau

Posté : 20 févr. 2009, 21:08
par beninsky
Bonjour,

J'aimerais transformer une requête sur un tableau qui affiche ça :
Array ( [0] => 1 [ID] => 1 )
Array ( [0] => 9 [ID] => 9 )
Array ( [0] => 10 [ID] => 10 )
Array ( [0] => 13 [ID] => 13 )
en ça :
Array ( [0] => 1 [ID] => 1 )
Array ( [0] => 2 [ID] => 0 )
Array ( [0] => 3 [ID] => 0 )
Array ( [0] => 4 [ID] => 0 )
Array ( [0] => 5 [ID] => 0 )
Array ( [0] => 6 [ID] => 0 )
Array ( [0] => 7 [ID] => 0 )
Array ( [0] => 8 [ID] => 0 )
Array ( [0] => 9 [ID] => 9 )
Array ( [0] => 10 [ID] => 10 )
Array ( [0] => 11 [ID] => 0 )
Array ( [0] => 12 [ID] => 0 )
Array ( [0] => 13 [ID] => 13 )
Car ensuite j'effectue une boucle while qui doit absolument se répéter 13 fois et être sur la requête du tableau, mais celui ci ne répond que 4 fois donc ma boucle se répète 4 fois...

Edit : En fait, une méthode pour modifier cela :
Array ( [0] => 1 [1] => 9 [2] => 10 [3] => 13 )
en cela :
Array ( [0] => 1 [1] => 9 [2] => 10 [3] => 13 [4] => 0 [5] => 0 [6] => 0 [7] => 0 [8] => 0 [9] => 0 [10] => 0 [11] => 0 [12] => 0 [13] => 0)
marcherai aussi.

Posté : 21 févr. 2009, 02:01
par Aureusms
Soit ton tableau que j'appelle $tableau :

Code : Tout sélectionner

Array ( [0] => 1 [ID] => 1 ) Array ( [0] => 9 [ID] => 9 ) Array ( [0] => 10 [ID] => 10 ) Array ( [0] => 13 [ID] => 13 )
Dans ta requête tu fais simplement :
//tu remplis d'abord un tableau vide
for ($i = 0; $i < 14 ; $i++)
{
$tableau_final[$i] = array ("0" => 0, "ID" => 0);
}
//Ensuite tu enregistres que la ligne qui t'intéresse
////ta requête est ici
while ($resultat = mysql_fetch_assoc($resultat_sql))
{
$tableau_final[$resultat["0"]] = array ("0"=>$resultat["0"], "ID"=>$resultat["ID"]);
}
je pense que cela doit marcher

Posté : 21 févr. 2009, 11:44
par Ryle
Pourquoi ne pas simplement faire ta boucle 13 fois et simplement tester dedans si l'index est défini dans ton tableau ? Si c'est le cas tu peux l'utiliser, sinon tu mets ta valeur par défaut et le tour est joué :)