kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 déc. 2005 à 15:10
Salut...
Tu met un champs pour déterminer si ton lien est menu ou sousmenu et s'il est sous menu tu l'assigne (avec une variable provenant d'un autre champs et qui est ignorée si c'est un menu) à un menu via un champs id... .. .
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 déc. 2005 à 15:25
Tu récupère le résultat d'une requête (mysql_query) à la bdd et tu lui fais un fetch_array pour ordonner la requete en tableau... ensuite on peut imaginer quelque chose du genre...
foreach ($this->Menus as $key) {
$this->assignMenu($key, $value);
}
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 déc. 2005 à 15:52
raaa merde encore la touche enter... atta je te remet ça... .. .
Imaginons que tu récupère le résultat d'une requête (mysql_query) à la bdd et tu lui fais un fetch_array (ici dans $ftchresult) pour ordonner la requete en tableau... ensuite on peut imaginer quelque chose du genre...
en imaginant que ta table contient les champs 'ismenu' (1 si c'est un menu 0 si c'est un sousmenu) 'menuref' pour savoir à l'id de quel menu est rattaché le sousmenu et 'nom' , 'lien, 'id'... .. .
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 déc. 2005 à 15:55
Là t'as la moitié du travail de maché... t'as plus qu'a géré l'organisation pour entrer les bonnes données dans ta bdd (surtout l'id du menu pour les sous menu)... .. .
Désolé pour le message d'avant c'était un extrait d'un class qui fait la même chose (mais qui n'est pas exploitable tel quel car héritant d'autres class spécifiques)... .. .
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 15 déc. 2005 à 00:16
Pourquoi faire plusieurs tables... si tu suit mon exemple une seule table suffit...
champ id [int(4) auto_increment] (l'id du lien)
champ nom [varchar(30 ou 40)] (le nom du lien)
champ url [varchar(50 ou +)] (l'url du lien)
champ ismenu [tinyint(1)] (1 = menu, 0 = sous menu)
champ menuref [tinyint(1)] (pour les sous menu avec l'id du menu associé)
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 15 déc. 2005 à 04:51
mediumint et pas medium_int puisque tu cherche la tite bête... .. . :oP ;o)
En effet int, qui pour mon dernier post est une erreur je pensait à tinyint, sera peut être un peu gros... tinyint ou smallint sera amplement suffisant... moi je mettrais smallint comme ça ça laisse de la marge... .. .
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 15 déc. 2005 à 16:07
Euh tu sais gérer une requete sql ? tu sais ce que c'est qu'une boucle ?
Parce que c'est bien de vouloir faire un menu dynamique géré avec php mais il faudrait peut être apprendre les base de php d'abord... hein... .. . :o)
Bon reprenons depuis le début... .. .
// on se connect à la bdd puis on selectione la table
$connect = mysql_connect('localhost', 'root', '') or die('probleme de connection : '.mysql_error());
mysql_select_db('test',$connect) or die('probleme de selection : '.mysql_error());
// on récupère toutes les entrées de la tables
$qresult = mysql_query('SELECT id,nom,url,isMenu,menuRef FROM text_menu',$connect) or die('probleme de requete : '.mysql_error());
//on ferme la connection
mysql_close($connect);
//on initialise notre variable Menu
$Menus = '';
// por chaque entré
while ($row = mysql_fetch_assoc($qresult)) {
// si le champs menu n'est pas à 0 (donc il est à 1)
// cela veut dire que le lien est un menu
if(!empty($row['isMenu'])){
// on assigne donc le nom et le lien
$Menus[$row['id']]['url'] = $row['url'];
$Menus[$row['id']]['nom'] = $row['nom'];
// sinon c'est un sous menu
} else {
// on assigne donc le nom et le lien du sousmenu
// dans la clé sousmenu du menu correspondantque l'on retrouve
// grace à menuRef qui correspond à l'id du menu associé
$Menus[$row['menuRef']]['sousmenu'][] = array(
'url' => $row['url'],
'nom' => $row['nom']
);
}
}