IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Affichage page avec switch


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut [Tableaux] Affichage page avec switch
    Bonjour, j'affiche le contenu de mon site comme cela:

    page index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if ( isset( $_GET['id'] )  ) $id = $_GET['id'];
    else $id = 'accueil';
     
    switch ( $id )					
    {
    case 'accueil':	 include("pages/accueil.php");
    		    break;
     
    case 'inscription': include("pages/inscription.php");
    			 break;
    														case 'jouer':	 include("pages/jouer.php");
    		   break;
    Mais le problème c'est que sur ma page categorie.php j'ai différent lien suivant le contenu de la table "categorie": cat1, cat2, cat3 ...
    Donc je vais avoir des liens du type: index.php?id=cat1

    Mais le problème c'est que je ne sais pas comment l'intégrer à ma page index...

    J'avais pensé à cela mais ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    if ( isset( $_GET['id'] )  ) $id = $_GET['id'];
    else $id = 'accueil';
     
    $requete_cat = "SELECT NOM_CATEGORIE FROM categorie";
     
    $resultat = mysql_query($requete_cat) or die('<br/>Exécution de la requête impossible.<br/>Contactez le webmaster si le problème n\'est pas résolu.<br/>');
     
    $idx = 0;											
    while ($page=mysql_fetch_array($resultat))
    {
    $nom_page['$idx'] = $page['NOM_CATEGORIE'];
    $idx++;	
    }
     
    switch ( $id )
     
    {
    	case 'accueil':	 include("pages/accueil.php");
    			break;
     
    	case 'inscription': include("pages/inscription.php");
    				 break;
    	case 'jouer':include("pages/jouer.php");
    			 break;
     
    	case "$nom_page['$idx']": include("pages/jeux.php?jx='.$nom_page[$idx].'");
    														 break;
    						}
     
    					?>
    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    c'est parce que tu manques de variables à mon avis pour gérer logiquement ton systeme.

    a ta place, je ferai plutot un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    index.php?$op=accueil
    index.php?op=contact
    index.php?op=categorie&cat_id=$cat_id
     
    switch ($op){
       case 'accueil': ...
       case 'categorie':
                if(isset($cat_id)){
                       include("categorie.php?cat_id=".$cat_id);
                }
     
    }

  3. #3
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    Bonjour, j'ai essayé votre méthode qui m'a l'air bien mais j'ai un probleme avec les includes maintenant, ça me met cette erreur:

    Warning: main(pages/jeux.php?cat_id=test): failed to open stream: No such file or directory in c:\users\florian\sites web\www_monsite_fr\index.php on line 106

    Warning: main(): Failed opening 'pages/jeux.php?cat_id=test' for inclusion (include_path='.;C:/Program Files/EasyPHP1-8\php\pear\') in c:\users\florian\sites web\www_monsite_fr\index.php on line 106

    voici le code de la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    if ( isset( $_GET['id'] )  ) $id = $_GET['id'];
    						else $id = 'accueil';
     
     
    						if (isset($_GET['cat_id']))   $cat_id = $_GET['cat_id'];
     
    						switch ( $id )
     
    						{
    							case 'accueil':					 		 include("pages/accueil.php");
    															 		 break;
     
    							case 'inscription': 			 		 include("pages/inscription.php");
    															 		 break;
     
    					    	case 'jouer':							 include("pages/jouer.php");
    																	 break;
     
    							case "categorie":	    				 if (isset($cat_id))
    																	 {
    																	    include("pages/jeux.php?cat_id=".$cat_id);
    																	 }
    																	  break;
     
    						}

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    essaie ceci alors:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     if (isset($cat_id))
    																	 {
    																	    include("pages/jeux.php);
     
    			}
    et dans jeux.php, tu récupèreras directement la variables $cat_id, car cette variable auras été défini avant l'include et sera donc utilisable dans le code situé dans le fichier inclus (c'est à dire jeux.php).

  5. #5
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    Parfait, Merci

  6. #6
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour à vous,

    Tu as une erreur car ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include("categorie.php?cat_id=".$cat_id);
    Tu n'as pas le droit de le faire...

    Si tu veux vraiment utiliser une variable GET, tu la déclare avant comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    if ( isset( $_GET['id'] )  ) $id = $_GET['id'];
    						else $id = 'accueil';
     
     
    						if (isset($_GET['cat_id']))   $cat_id = $_GET['cat_id'];
     
    						switch ( $id )
     
    						{
    							case 'accueil':					 		 include("pages/accueil.php");
    															 		 break;
     
    							case 'inscription': 			 		 include("pages/inscription.php");
    															 		 break;
     
    					    	case 'jouer':							 include("pages/jouer.php");
    																	 break;
     
    							case "categorie":	    				 if (isset($cat_id))
    																	 {
    				$_GET['cat_id']	= $cat_id;							 					    include("pages/jeux.php");
    																	 }
    																	  break;
     
    						}
    Mais pour être franc je pense que tu as un soucis dans la logique de récupération des informations et de leurs traitement.

    Cordialement Inazo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage page avec animation
    Par mateuil dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 26/02/2008, 08h45
  2. Réponses: 1
    Dernier message: 18/10/2007, 00h18
  3. Réponses: 4
    Dernier message: 05/12/2006, 20h13
  4. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 16h37
  5. [CSS][HTML] Mise en page : Avec ou sans tableaux ?
    Par arno2000 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/08/2005, 02h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo