Gestion tableau multidimensionnel php
Résolu
stellou74
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
stellou74 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
stellou74 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'apprends actuellement le PHP et j'essaye de réaliser un minisite avec une fonction permettant de changer le contenu de la page depuis un menu. Mon code fonctionne bien avec la variable 'nom' de mon tableau, mais je ne parviens pas à afficher l'image et le texte et je n'arrive pas à faire en sorte que le titre et le texte d'accueil soient sur la page et disparaissent quand on clique sur les liens. Voici mon code:
Merci de votre aide bonne soirée !
J'apprends actuellement le PHP et j'essaye de réaliser un minisite avec une fonction permettant de changer le contenu de la page depuis un menu. Mon code fonctionne bien avec la variable 'nom' de mon tableau, mais je ne parviens pas à afficher l'image et le texte et je n'arrive pas à faire en sorte que le titre et le texte d'accueil soient sur la page et disparaissent quand on clique sur les liens. Voici mon code:
<?php $page_titre = 'Mini-site des saisons'; // variable de titre $texte_accueil ='Bienvenue sur le mini-site consacré aux quatre saisons. Utilisez le menu de navigation pour consulter les pages du site.'; $saisons = array ( '0' => array ('nom' => 'Printemps', 'image' => 'printemps_mini.jpg', 'texte' => 'Le printemps (du latin primus, premier, et tempus, temps, cette saison marquant traditionnellement le renouveau dans la nature) est l\'une des quatre saisons des zones tempérées, suivant l\'hiver et précédant l\'été. Cette demi-saison correspond aux mois de mars, avril, mai et juin dans l\'hémisphère nord.'), '1' => array ('nom' => 'Eté', 'image' => 'ete_mini.jpg', 'texte' => 'L\'été est l\'une des quatre saisons des zones tempérées et polaires, traditionnellement perçue comme la plus chaude, soit les mois de juin, juillet, août (voire septembre) dans l\'hémisphère nord.'), '2' => array ('nom' => 'Automne', 'image' => 'automne_mini.jpg', 'texte' => 'L\'automne est l\'une des quatre saisons des zones tempérées. Cette saison se situe entre l\'été et l\'hiver, correspond aux mois de septembre, octobre, novembre et décembre dans l\'hémisphère nord.'), '3' => array ('nom' => 'Hiver', 'image' => 'hiver_mini.jpg', 'texte' => 'L\'hiver est l\'une des quatre saisons des zones tempérées, traditionnellement perçue comme la plus froide, soit les mois de décembre, janvier, février et mars dans l\'hémisphère nord.') ); ?> <html> <head> <meta charset="iso-8859-1"> </head> <body> <ul> <?php foreach($saisons AS $saison) { echo '<li><a class="menu" title="'.$saison['nom'].'" href="minisite.php?nom='.$saison['nom']. '">'.$saison['nom'].'</a></li>'; } ?> </ul> <?php if (isset($_GET["nom"])) { $saison['nom'] = $_GET['nom']; $saison['image'] = $_GET['nom']; $saison['texte'] = $_GET['nom']; echo '<title>' . $saison['nom'] . '</title>'; echo '<h1>' . $saison['nom'] . '</h1>'; echo '<h2 id="'. $saison['nom']. '">' . $saison['nom'] . '</h2>'; echo '<img src="' . $saison['image'] .'" />'; echo '<p>' . $saison['texte'] . '</p>'; } else { $page_titre = $_GET["titre"]; $texte_accueil = $_GET["titre"]; echo '<title>' . $page_titre . '</title>'; echo '<h1>' . $page_titre . '</h1>'; echo '<p>' . $texte_accueil . '</p>'; }?> </body> </html>
Merci de votre aide bonne soirée !
A voir également:
- Gestion tableau multidimensionnel php
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
2 réponses
Salut,
Voici quelques améliorations à apporter pour réaliser ce que tu attends :
1. Utilises les clés de ton tableau (0, 1, 2, 3) à la place du nom de la saison dans les urls.
2. Vérifie que la clé envoyé par l'utilisateur (en cliquant sur le lien) correspond bien à une clé existante pour éviter les erreurs.
3. Utilises ensuite cette clé pour récupérer les informations de la saison et les afficher.
Par exemple :
Bonne journée
Voici quelques améliorations à apporter pour réaliser ce que tu attends :
1. Utilises les clés de ton tableau (0, 1, 2, 3) à la place du nom de la saison dans les urls.
2. Vérifie que la clé envoyé par l'utilisateur (en cliquant sur le lien) correspond bien à une clé existante pour éviter les erreurs.
3. Utilises ensuite cette clé pour récupérer les informations de la saison et les afficher.
Par exemple :
<ul> <?php foreach($saisons AS $cle => $saison) { // on utilise la clé (identifiant) de la saison echo '<li><a class="menu" title="'.$saison['nom'].'" href="minisite.php?id='.$cle. '">'.$saison['nom'].'</a></li>'; } ?> </ul> <?php // on vérifie si l'utilisateur à cliqué sur un lien et que l'id envoyé existe if (isset($_GET['id']) && in_array($_GET['id'], array_keys($saisons))) { // si l'id correspond à une saison du tableau, on récupère les infos de cette saison $saison = $saisons[$_GET['id']]; echo '<title>' . $saison['nom'] . '</title>'; echo '<h1>' . $saison['nom'] . '</h1>'; echo '<h2 id="'. $saison['nom']. '">' . $saison['nom'] . '</h2>'; echo '<img src="' . $saison['image'] .'" />'; echo '<p>' . $saison['texte'] . '</p>'; } else { // sinon on affiche la page d'accueil echo '<title>' . $page_titre . '</title>'; echo '<h1>' . $page_titre . '</h1>'; echo '<p>' . $texte_accueil . '</p>'; }?>
Bonne journée