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 :

Creer plusieurs pages php


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut Creer plusieurs pages php
    Bonjour le forum !
    D'abord un énorme merci à vous tous, car je progresse beaucoup avec vos conseils.
    Je cherche cette fois çi a créer plusieurs pages php avec des variables.
    Je m'explique, j'ai une base sql avec une table contenant une colonne "ID" allant de 1 à 100.
    Je voudrais donc créer autant de pages web qu'il y a d'"ID", c'est à dire jusque 100.
    La page créé doit etre sous cette forme : toto-1.php ; toto-2.php en d'autres termes toto-[id].php et la page contient simplement "ceci est la page numéro X" ou X étant mon ID

    Je m'occupe donc dans un premier temps de me connecter à ma base et de récupérer les informations :
    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
    <?php
     
    	$hostname = "localhost";
    	$user     = "root";
    	$password = "";
    	$base = "test1";
     
    	$conn = mysqli_connect($hostname, $user, $password) or exit('connexion impossible');
    	mysqli_select_db($conn,$base);
     
    $sql2 = "SELECT ID FROM jeux_video";
    $resu2 = mysqli_query ($conn,$sql2);
    $infos2 = mysqli_fetch_array ($resu2);
    $id = $infos2['ID'];
    ?>
    Donc la connexion fonctionne, mais ensuite quelle fonction me permettrais si cela est possible de réaliser la "boucle" ?
    Je ne sais pas trop dans quelle direction chercher.
    Merci de votre aide :-)

  2. #2
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    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
    <?php
     
    	$hostname = "localhost";
    	$user     = "root";
    	$password = "";
    	$base = "test1";
     
    	$conn = mysqli_connect($hostname, $user, $password) or exit('connexion impossible');
    	mysqli_select_db($conn,$base);
     
    $sql2 = "SELECT ID FROM jeux_video";
    $resu2 = mysqli_query ($conn,$sql2);
    /*
    $infos2 = mysqli_fetch_assoc ($resu2);//assoc plutot que array. Je t'expliquerai après
    $id = $infos2['ID'];
    */
    while($infos2 = mysqli_fetch_assoc($resu2)){
       echo $infos2['ID'].'<br />';
    }
    ?>
    Assoc plutot que Array parce que array renvoie le nom de la colonne et son id.

    Par exemple: la colonne "ID" renverra "0" et "ID" si tu fais array. Elle renverra "ID" et c'est tout si tu utilises assoc. C'est un gain de performance

  3. #3
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Sinon en règle générale, tu as souvent des informations utiles dans les commentaires de la fonction.
    Comme celui-ci par exemple

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Bonjour,
    Un grand merci, votre code fonctionne très bien mais ne correspond pas à l'objectif cherché, j'ai du mal m'exprimer.
    Avec ce code, j'obtiens sur une meme page :
    1
    2
    3 etc.
    Sauf que je voudrais ( si cela existe ) qu'une page toto-1.php soir créée et qu'elle affiche 1 ; une page toto-2.php qui affiche 2 ; en gros une page toto-[id].php qui affiche [id] correspondant.
    Une sorte de boucle qui crée une page à chaque nouvelle valeur de [id].
    Mais je ne sais pas si cela existe et quelle fonction utilisée en faite :-)

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 243
    Points
    20 243
    Par défaut
    Sauf que je voudrais ( si cela existe ) qu'une page toto-1.php soir créée et qu'elle affiche 1 ; une page toto-2.php qui affiche 2 ; en gros une page toto-[id].php qui affiche [id] correspondant.
    C'est contraire au principe des site dynamique. Tu ne créer pas plusieurs pages mais une seule qui s'adapte en fonction des données à afficher !

    tu devrais donc avoir une url du genre http://site.com/toto.php?id=2 avec toto.php qui charge le bon contenu en fonction du paramètre passé.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Ah d'accord je comprend mieux le principe.
    Je passe le parametre ID dans mon url.
    Cela ne pose pas de problème pour le référencement d'un site ? Les pages sont bien prises en compte ?

  7. #7
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Pour faire ce que tu demandes il faut faire:

    toto.php?id=1

    et faire ce qu'on appelle de l'url rewriting qui va rediriger la page "toto-1.php" vers toto.php?id=1.

    Renseigne toi sur l'url rewriting ça se passe dans le fichier ".htaccess"

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Ok je comprends de mieux en mieux :-)
    Par contre, comment avoir avoir toto.php?id=1 ?
    Avec ceci ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pageurl = $_GET['ID'];

  9. #9
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Exactement.

    http://localhost/site/toto.php?id=2

    pour récupérer id c'est

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Ok je vais essayé cela :-)
    Un grand merci.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Re bonjour,
    J'essaye de me dépatouiller avec la fonction get mais j'ai du mal à l'utiliser.
    J'utilise donc toujours le meme code :
    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
    <?php
     
    	$hostname = "localhost";
    	$user     = "root";
    	$password = "";
    	$base = "test1";
     
    	$conn = mysqli_connect($hostname, $user, $password) or exit('connexion impossible');
    	mysqli_select_db($conn,$base);
     
    $sql2 = "SELECT ID FROM jeux_video";
    $resu2 = mysqli_query ($conn,$sql2);
    /*
    $infos2 = mysqli_fetch_assoc ($resu2);//assoc plutot que array. Je t'expliquerai après
    $id = $infos2['ID'];
    $id2 = $_GET['id']; // la je suis pas sur oO
    */
    while($infos2 = mysqli_fetch_assoc($resu2)){
       echo $infos2['ID'].'<br />';
    }
    ?>
    Mais du coup je ne sais pas trop comment exploiter le geturl.
    Quand je saisie toto.php?id=2 j'ai la meme page que toto.php

    Ou alors c'est l'inverse oO Je dois récupérer le parametre de mon url et l'insérer dans ma page correspondante ?
    AU final j'ai donc 1 seul page toto.php décliné en autant de page qu'il existe d'iD ?

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Après rebidouillage j'ai ceci comme code :
    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
    <?php
     
    	$hostname = "localhost";
    	$user     = "root";
    	$password = "";
    	$base = "test1";
     
    	$conn = mysqli_connect($hostname, $user, $password) or exit('connexion impossible');
    	mysqli_select_db($conn,$base);
     
    $sql2 = "SELECT ID FROM jeux_video";
    $resu2 = mysqli_query ($conn,$sql2);
     
    $infos2 = mysqli_fetch_assoc ($resu2);//assoc plutot que array. Je t'expliquerai après
    $id = $infos2['ID'];
    $id2 = $_GET['id'];
     
     
    ?>
    <p>bla bla bla <?php  echo $id2; ?> </p>
    Cela fonctionne presque.
    Quand je suis toto?id=2 ; toto?id=3 etc j'obtiens bien l'information voulu.
    Le soucis viens de la page toto.php qui me donne ceci :Undefined index: id in C:\wamp....
    Et le deuxième soucis vient du fait que si je n'ai que 100 valeur dans mon tableau, mais que je tape toto?id=1000 j'obtient quand meme un affichae de la page oO

  13. #13
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Pour toto.php il faut d'abord faire un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(filter_has_var(INPUT_GET, 'id')){
    //ici tu mets le code pour afficher la page. 
    //si l'id est défini dans l'url on affiche la page, sinon on ne fait rien
    }
    Mais ton code ne veut rien dire alors prends exemple la dessus:

    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
     
    <?php
     
    	$hostname = "localhost";
    	$user     = "root";
    	$password = "";
    	$base = "test1";
     
    	$conn = mysqli_connect($hostname, $user, $password) or exit('connexion impossible');
    	mysqli_select_db($conn,$base);
                 if(filter_has_var(INPUT_GET, 'id')){
                    $id = (int)$_GET['id'];
                    $resu = mysqli_query($conn, 'SELECT * FROM jeux_video WHERE id='.$id);
                    $infos = mysqli_fetch_assoc($resu);
                    echo $infos[''];//ici tu mets le champ de la table que tu veux
                 }else{
                    echo 'pas d\'id en parametre...';
                 }
    ?>
    En gros.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Points : 90
    Points
    90
    Par défaut
    Effectivement j'étais à l'ouest
    En tous cas votre code fonctionne à merveille
    Un méga big up à vous :-)

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

Discussions similaires

  1. envoyer une variable vers plusieurs pages php
    Par wanakill dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/04/2009, 10h50
  2. [MySQL] Creer des page PHP en ligne
    Par WebDMX dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/10/2007, 18h05
  3. [Debutant] Creer plusieurs "pages"
    Par weed dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 21/09/2007, 20h02
  4. [XSLT]Transformation en plusieurs pages .php
    Par mamiberkof dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 02/02/2007, 14h51
  5. Variable globale à plusieurs pages .php
    Par rivaol dans le forum Langage
    Réponses: 6
    Dernier message: 19/06/2006, 09h12

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