par
Invité » 02 juin 2008, 14:15
Bonjour a tous,
Je souhaite construire un tableau associatif php à partir d'un requete sql sur une table qui contient des éléments de menu.
La requete doit se faire sur la table "menu" que voici:
Code : Tout sélectionner
CREATE TABLE `menu` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`link` text,
`parent` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=104 ;
Comme vous pouvez le voir, chaque item de menu a un champ 'parent' contenant l'id d'un item parent se trouvant dans la même table.
Le champ parent contient 0 si l'item de menu n'a pas de parent (1er niveau).
Mon array php doit représenter les id des menus et pour chaque id de menu, un sous tableau contenant les id des sous-menus correspondants, comme ceci
$menu = array
(
"1" => array("2", "3", "4"), //l'id d'élément de menu vaut 1, avec 3 sous menus dont les id sont 2, 3,4
"45" => array( "7", "8"),
"9" => null //cet élément n'a pas de sous menu
);
Est-il possible de construire en 1 seule fois une requete sql qui génère un tel tableau?
Merci pour vos réponses.
Bonjour a tous,
Je souhaite construire un tableau associatif php à partir d'un requete sql sur une table qui contient des éléments de menu.
La requete doit se faire sur la table "menu" que voici:
[code]
CREATE TABLE `menu` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`link` text,
`parent` int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=104 ;
[/code]
Comme vous pouvez le voir, chaque item de menu a un champ 'parent' contenant l'id d'un item parent se trouvant dans la même table.
Le champ parent contient 0 si l'item de menu n'a pas de parent (1er niveau).
Mon array php doit représenter les id des menus et pour chaque id de menu, un sous tableau contenant les id des sous-menus correspondants, comme ceci
[php]
$menu = array
(
"1" => array("2", "3", "4"), //l'id d'élément de menu vaut 1, avec 3 sous menus dont les id sont 2, 3,4
"45" => array( "7", "8"),
"9" => null //cet élément n'a pas de sous menu
);
[/php]
Est-il possible de construire en 1 seule fois une requete sql qui génère un tel tableau?
Merci pour vos réponses.