Accueil > Forum > > > > remplir un array multi dimensions
remplir un array multi dimensions
mercredi 23 août 2006 à 11:36:39 |
remplir un array multi dimensions

mariobotta
|
bonjour, je dois réalisé une petite application pour remplir un tableau à plusieurs dimensions avec des info venant d'une table mysql Mon tableau dois ressembler à cela : $GLOBALS['administration']=array( "titre1"=>array("lien1",array("user1","user2","user3")), "titre2"=>array("lien2",array("user1","user2")), "titre3"=>array("lien3",array("user1","user2","user3","user4")) ... ); je sais remplir un tableau à une dimension mais je vois pas trop comment faire pour ce cas -ci while($row=$db->row()) { array_push($array_global,$row['titre']); } echo '<pre>'; print_r($array_global); //Affiche Array() echo '</pre>'; merci d'avance pour votre aide
|
|
mercredi 23 août 2006 à 12:53:30 |
Re : remplir un array multi dimensions

malalam
|
Hello,
ben où est le problème ? $array[$row['titre']] = array (); tu auras tes clefs déjà. Après, tes liens et tes users, je sais pas trop d'où tu les pêches donc on peut guère t'aider plus loin.
|
|
mercredi 23 août 2006 à 14:53:05 |
Re : remplir un array multi dimensions

mariobotta
|
bonjour,
merci pour ce coup de main
les liens (sous la forme :http:// ... ) et users (sous la forme :1;5;6;8; que j'explode pour récupérer un nom) viennent aussi d'un base. Je sais pas trop si ç comme çà? $array_global=array();
while($row=$db->row()) { array_push($array_global,$row['titre']); $array[$row['titre']] = array (); while($row=$db1->row()) { array_push($array[$row['titre']] ,$row['liens']);
while($row=$db2->row()) { array_push($array_global,$row['users']); } } }
merci d'avance
|
|
mercredi 23 août 2006 à 15:04:28 |
Re : remplir un array multi dimensions

malalam
|
Ben essaye lol...mais à priori oui c'est ça
|
|
mercredi 23 août 2006 à 15:31:30 |
Re : remplir un array multi dimensions

malalam
|
Heu nan attends j'avais mal lu!!
$array_global=array();
while($row=$db->row()) { $array_global[$row['titre']] = array (); while($row1=$db1->row()) { $array_global[$row['titre']] = array ($row1['liens'] => array ());
while($row2=$db2->row()) { $array_global[$row['titre']][$row1['liens']][] = $row2['users'] ; } } }
mais à mon avis, tu peux tout avoir en 1 seule requête.
|
|
mercredi 23 août 2006 à 16:12:12 |
Re : remplir un array multi dimensions

mariobotta
|
Merci pour ton aide
Je pense avoir la solution elle m'affiche: Array ( [0] => titre1 [1] => Array ( [0] => lien1 [1] => Array ( [0] => users1 [1] => user2 )
)
[2] => titre2 [3] => Array ( [0] => lien2 [1] => Array ( [0] => user1 [1] => user2
)
) )
Par contre est ce logique les indices des titres?
merci pour ton aide
|
|
mercredi 23 août 2006 à 17:50:13 |
Re : remplir un array multi dimensions
|
jeudi 24 août 2006 à 09:46:34 |
Re : remplir un array multi dimensions

mariobotta
|
bonjour,
encore un grand merci pour ton aide et le temp que tu y consacres. voici le code il est court donc je met tout :
require_once($_SERVER['DOCUMENT_ROOT'].'/phplib/layout.php'); session_start();//test //get_header(68); $table='ariane'; $array_global=array(); $db= new db(USERNAME,PASSWORD,DATABASE,HOSTNAME); $db->query("SELECT * FROM $table WHERE `parentID`=8 ORDER BY titre ASC"); $t=0; while($row=$db->row()) { array_push($array_global,$row['titre']); $array_url = array (); $array_prenom = array (); $db2= new db(USERNAME,PASSWORD,DATABASE,HOSTNAME); $db2->query("SELECT * FROM $table WHERE `parentID`=8 AND ID=".$row['ID']." ORDER BY titre ASC"); while($row=$db2->row()){ $array_users = array (); //rempli la table titre avec la table des link array_push($array_url,$row['url']); //1°réalisation d'un tableau avec acces de l'admin $db_acces=new db(USERNAME,PASSWORD,DATABASE,HOSTNAME); $db_acces->query("SELECT `nom`,`module` FROM users_test"); while( $row_acces=$db_acces->row()) { //echo $t.$row_acces['nom'].':'.$row_acces['module'].'<br>'; $explode=explode(";",$row_acces['module']);//tableau avec acces de l'admin for($h=0;$h<(count($explode)-1);$h++) { if($explode[$h]==$row['ID']){ //echo $explode[$h].'<br>'; //remplir table avec les users array_push($array_users,$row_acces['nom']); } } } $db_acces->destroy(); array_push($array_url,$array_users); array_push($array_global,$array_url); } $t++; }//while1 $GLOBALS['administration']=$array_global; echo '<pre>'; print_r($GLOBALS['administration']); //Affiche Array() echo '</pre>';
|
|
jeudi 24 août 2006 à 11:18:13 |
Re : remplir un array multi dimensions

malalam
|
Pourquoi tu t'obstines avec array_push...?
|
|
jeudi 24 août 2006 à 12:06:32 |
Re : remplir un array multi dimensions

mariobotta
|
Réponse acceptée !
bonjour,
je l'utilise souvent pour remplir des tableaux
J'ai toujour un soucis mais je me rapproche d'une solution car l'autre que j'ai donner plus haut n'est pas bonne. le premier tableau devrait être indicé avec le titre mais il me met des incide classique (0,1,2,..) Je dois avoir un prob dans la première boucle voici le code $array_global=array(); $array_titre=array(); $db= new db(USERNAME,PASSWORD,DATABASE,HOSTNAME); $db->query("SELECT * FROM ariane WHERE `parentID`=8 ORDER BY titre ASC"); $t=0; while($row=$db->row()) { $array_titre[$row['titre']] = array (); $db2= new db(USERNAME,PASSWORD,DATABASE,HOSTNAME); $db2->query("SELECT * FROM ariane WHERE `parentID`=8 AND ID=".$row['ID']." ORDER BY titre ASC"); while($row=$db2->row()){ array_push($array_titre[$row['titre']],$row['url']); $array_users = array (); //1°réalisation d'un tableau avec acces de l'admin $db_acces=new db(USERNAME,PASSWORD,DATABASE,HOSTNAME); $db_acces->query("SELECT `nom`,`module` FROM users_test"); while( $row_acces=$db_acces->row()) { $explode=explode(";",$row_acces['module']);//tableau avec acces de l'admin for($h=0;$h<(count($explode)-1);$h++) { if($explode[$h]==$row['ID']){ //remplir table avec les users array_push($array_users,$row_acces['nom']); } } } $db_acces->destroy(); //rempli la table url avec la table users array_push($array_titre[$row['titre']],$array_users); //rempli la table globale avec la table users array_push($array_global,$array_titre[$row['titre']]); } $t++; }//while1 $GLOBALS['administration']=$array_global;
Array ( [0] => Array //cette indice devrait être un titre ex [titre1]=>array ( [0] => /admin/fruit/fruit.php [1] => Array ( [0] => Krafft [1] => Noel [2] => Cors )
)
[1] => Array //cette indice devrait être un titre ex [titre2]=>array ( [0] => /admin/pdt/pdt.php [1] => Array ( [0] => Krafft [1] => Noel )
)
merci d'avance
|
|
Cette discussion est classée dans : tableau, remplir, array, dimensions, user1
Répondre à ce message
Sujets en rapport avec ce message
tri tableau 2 dimensions [ par lebobby ]
Bonjour je voudrais savoir comment je pourrais faire pour trier ce tableau :$tab[0]=array("i"=>"23", "c" => "rge", "date" =>'2002-08-03 12:00:00');$ta
Tableau a deux dimensions [ par hicksman ]
salut,comment faire pour mettre le resultat d'une requete select dans un tableau a deux dimensions.en fait je eux que le résultat de ma boucle while($
pb tableau HTML [ par Joez ]
Bonjour voila, je dois remplir un tableau HTML ( 4 x 4 ) en remplissant ligne par ligne. Comment faire pour remplir d'abord les 4 premieres cellules d
[MySQL] Sauvegarde d'un tableau dans une table [ par cedvoyage ]
Bonjour,J'aimerais sauvegarder un tableau (multimensionnel) dans ma base MySQL.Or quand j'essaye je n'ai que 'Array' de marquer dans le champ de ma ta
probleme array tableau [ par guiguipumpkin ]
bonjour,je ne trouve pas la fonction php qui permet de supprimer un element d'un tableau array, suivant un indice iun peu comme array_shift mais en po
incrementation difficile [ par charly25 ]
bonjou ou bonsoir (je suis plus tres sur...)j'essaye actuellement de lier des menus deroulants (la selection dans l'un agit sur l'autre et vice versa)
Script de sondage évolué avec tableau à 2 dimensions [ par regisgo ]
Bjr à tous,Je cherche désespérement un script php de sondage évolué sous la forme de tableau à 2 dimensions :Exemple : Ceci est la question du sondage
Remplir un tableau automatiquement et l'incrémenter [ par benz038 ]
Salut a tous Je voudrai savoir comment je peux faire pour remplir un tableau en selectionnant un code dans une liste déroulante est cela me remplirai
Fonction callback et classes [ par malalam ]
Salut :-)J'ai un petit soucis : je veux utiliser array_filter() dans une fonction membre d'une classe.J'ai defini ma fonction callback dans cette meme
comparer array et requête [ par alecto ]
Bonjour à tous et merci d'avance pour ceux qui pourront m'aider, voici mon pb : <?xml:namespace prefix = o ns
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|