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
PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abordés: animations, 3...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|