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
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|