PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 04-11-2013 22:17:00

AdelineH
Membre
Inscription : 04-11-2013
Messages : 1

Minisite avec tableau multidimensionnel

Bonjour,

Je suis débutante en PHP et je tente de réaliser un minisite de 4 pages avec 1 seul fichier .php. L'idée est d'avoir un contenu pour l'index et de pouvoir appeler un contenu différent pour chacun des 4 liens du menu. J'ai donc créé mon tableau multidimensionnel avec 4 tableaux reprenant chacun une variable "nom", une variable "image" et une variable "texte".

J'ai ensuite créé mon menu à l'aide de la boucle Foreach et de la méthode _$GET. Mais je sèche quant à l'affichage des contenus en fonction du lien sur lequel on clique dans le menu. Voici mon code actuel:


<?php
$saisons = array (
0 => array ('nom' => 'printemps', 'image' => 'printemps.jpg', 'texte' => 'Le printemps (du latin primus, premier, et tempus, temps, cette saison marquant traditionnellement le renouveau dans la nature) est 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' => 'été', 'image' => 'ete.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 et août (voire septembre) dans l\'hémisphère nord.'),
2 => array ('nom' => 'automne', 'image' => 'automne.jpg', 'texte' => 'L\'automne est l\'une des quatre saisons des zones tempérées. Cette saison, qui 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.jpg', 'texte' => 'L\'hiver est l\'une des quatres 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.')
);

?>

<?php
 
foreach($saisons AS $saison)
{
    echo '<li><a class="menu" title="'.$saison['nom'].'" href="minisite.php?id='.$saison['nom'].
'">'.$saison['nom'].'</a></li>';

}
?>

<?php
foreach($_GET as $id => $saison['nom'])  {

echo '<title>' .$saison['nom'] . '</title>';
echo '<h1>' .$saison['nom'] . '</h1>';
echo '<img src="' .$saison['image'] . '">';
echo '<p>' . $saison['texte'] .'</p>';
}
?>
 

Merci d'avance pour votre aide.

Adeline

Hors ligne

#2 05-11-2013 02:18:44

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Minisite avec tableau multidimensionnel

Bonjour,

Il vous faudrait décider de votre page par défaut (aucune sélection menu qui corresponds également au premier chargement de votre page)
Ensuite, après la définition de votre environnement (variable $saisons), tester la présence de votre sélection menu comme par exemple


if (isset($_GET['id'])){$current_pageID=intval($_GET['id']);}else{$current_pageID=0;} // le choix id=0 corresponds à la page par défaut.
 

Ensuite en fonction de votre $current_pageID vous allez récupérer dans votre tableau $saisons le $nom, $image et $texte associé à la valeur d'index contenu dans $current_pageID comme suit


$nom=$saisons[$current_pageID]['nom'];
$image=$saisons[$current_pageID]['image'];
$texte=$saisons[$current_pageID]['texte'];
 

Ne vous reste qu'à afficher ensuite comme bon vous semble le contenu de ces variables wink

++

Dernière modification par Jc (05-11-2013 02:19:13)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums