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 :

Passage de variables


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut Passage de variables
    Bonjour,

    Je voudrais afficher le résultat d'une requête dans un tableau selon le choix ed l'utilisateur.
    Donc dans une première page j'ai deux liens qui mène sur la même page et je voudrais passé la requête dans ce lien.

    Dans le premier fichier c'est cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="produit_peaux.php"><img src="Images/produit/peaux.gif" height="200" width="200"></a>
    Donc je voudrais que la page s'affiche avec ces 2 requêtes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'SELECT COUNT(*) AS total FROM produit where famille="PEAUX"'
    'SELECT * FROM produit where famille="PEAUX" LIMIT '
    Et au niveau de la page de destination sa donne cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $retour_total=mysql_query( La requete 1);
    $retour_messages=mysql_query(La requete 2);

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    Quel est l'element variant sur la deuxieme page necessitant le passage d'un paramètre ?

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Le résultat d'une requête pour pas créer plusieurs pages à chaque requête !

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux purement passer un paramètre si tes requetes sont totalement différentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="produit_peaux.php?requete=xxx">
    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
     
    switch ($_GET['requete']) {
     
    case 'xxx' :
      $query_total = 'SELECT COUNT(*) AS total FROM produit where famille="PEAUX"'';
      $query_message = 'SELECT * FROM produit where famille="PEAUX" LIMIT 10';
      break;
     
    case 'yyy' :
      $query_total = '....';
      $query_message = '...';
      break;
    }
     
    $retour_total=mysql_query($query_total);
    $retour_messages=mysql_query($query_message);

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Bonjour, merci de ton aide mais je comprend pas trop alors j'ai changé de méthode mais j'ai un problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="produit_affich.php?requete='$donnees_messages'">
    Je voudrais passer la variable donnees_messages' à la page suivante.

    Comment faire ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est déjà ce que je fais dans l'exemple que je t'ai mis.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Scuse moi lol. j'ai un peu de mal ; je débute en php.

    Donc voici mon code en entier

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
        <table border="1">
    	<tr>
    		<th width="100">Id</th>
    		<th width="150">Libelle</th>
    		<th width="105">Photo</th>
    	</tr>
     
    <?php
    $host = "localhost";
    $user = "root";
    $bdd = "tetrosyl";
    $passwd  = "" ;
     
    // Connexion au serveur
    mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
    mysql_select_db($bdd) or die("Erreur de connexion a la base de donnees");
     
    $messagesParPage=5; //Afficher 5 messages par pages
     
    $retour_total=mysql_query('SELECT COUNT(*) AS total FROM famille'); //Nous récupérons le contenu de la requête dans $retour_total
    $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
    $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
     
    //Nous allons maintenant compter le nombre de pages.
    $nombreDePages=ceil($total/$messagesParPage);
     
    if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
    {
         $pageActuelle=intval($_GET['page']);
     
         if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
         {
              $pageActuelle=$nombreDePages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1    
    }
     
    $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
     
    // La requête sql pour récupérer les messages de la page actuelle.
    $retour_messages=mysql_query('SELECT * FROM famille LIMIT '.$premiereEntree.', '.$messagesParPage.'');
     
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
         //Affichage du contenu
         echo '<table align="center" border="1">
    
      <td width="100">'.(stripslashes($donnees_messages['id_famille'])).'</td>
      <td width="150">'.(stripslashes($donnees_messages['libelle_famille'])).'</td>
      <td width="105">'.(stripslashes($donnees_messages['photo_famille'])).'</td>
    </table>'; 
    }
     
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i <= min($pageActuelle+2, $nombreDePages); $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i==$pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' ['.$i.'] '; 
         }    
         else {
              echo ' <a rel="nofollow" href="produit_famille.php?page='.$i.'">'.$i.'</a> ';
    		  }
    }
     
    echo ' sur '.$nombreDePages;
    echo '</p>';
     
    // Deconnexion de la base de donnees
    mysql_close();
    ?>
     
    </tr>
     
    </table>
          </div>
    Je voudrais quand on clique sur le libelle on accède à une page montrant tout les produits avec la requete par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from produit where famille="peaux"
    pour le premier et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from produit where famille="entretien"
    pour le deuxième

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On ajoute un lien qui passe en paramètre le l'id de la famille (c'est plus jolie que de passer le libellé) (au passage petite remise en forme du tableau html) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    echo '<table align="center" border="1">';
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
        $id_famille = $donnees_messages['id_famille'];
         //Affichage du contenu
        echo '<tr> 
      <td width="100">'. $id_famille .'</td>
      <td width="150">
          <a href="produits.php?id=' . $id_famille . '"> stripslashes($donnees_messages['libelle_famille']).'</a></td>
      <td width="105">'. stripslashes($donnees_messages['photo_famille']).'</td>
    </tr>'; 
    }
    echo '</table>';
    et dans ta page produits.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php 
    // recuperes la valeur
    if (isset($_GET['id'])) {
       $id_famille = intval($_GET['id']);
       $sql = 'select * from produit where id_famille=' . $id_famille;
       .....
       .....
    }
    j'ai supposé que id_famille etait numerique.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Merci encore une fois cela marche bien mais je vais être encore embêtant
    Si ce que je dois afficher se trouve dans une autre table comment je peux faire ?
    Cette table n'a pas d'ID produit.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne comprends pas ton probleme.

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Voila mon 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    // Connexion au serveur
    mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
    mysql_select_db($bdd) or die("Erreur de connexion a la base de donnees");
     
    $messagesParPage=5; //Afficher 5 messages par pages
     
    $retour_total=mysql_query('SELECT COUNT(*) AS total FROM famille'); //Nous récupérons le contenu de la requête dans $retour_total
    $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
    $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
     
    //Nous allons maintenant compter le nombre de pages.
    $nombreDePages=ceil($total/$messagesParPage);
     
    if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
    {
         $pageActuelle=intval($_GET['page']);
     
         if($pageActuelle>$nombreDePages) 
         {
              $pageActuelle=$nombreDePages;
         }
    }
    else // Sinon
    {
         $pageActuelle=1; // La page actuelle est la n°1    
    }
     
    $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
     
    // La requête sql pour récupérer les messages de la page actuelle.
    $retour_messages=mysql_query('SELECT * FROM famille LIMIT '.$premiereEntree.', '.$messagesParPage.'');
     
     
     
     
     
    echo '<table align="center" border="1">';
    while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
    {
    $libelle_famille = $donnees_messages['libelle_famille'];
     
    //Affichage du contenu
    echo '<tr>
    <td width="150"><a href="produits.php?id=' . $libelle_famille . '">'.stripslashes($donnees_messages['libelle_famille']).'</a></td>
    <td width="105"><a href="produits.php?id=' . $libelle_famille . '">'.stripslashes($donnees_messages['photo_famille']).'</a></td>
    </tr>'; 
    }
    echo '</table>';
     
     
     
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i <= min($pageActuelle+2, $nombreDePages); $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i==$pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' ['.$i.'] '; 
         }    
         else {
              echo ' <a rel="nofollow" href="produit_famille.php?page='.$i.'">'.$i.'</a> ';
    		  }
    }
     
     
     
    // Deconnexion de la base de donnees
    mysql_close();
    ?>
    Et sur la page produit j'ai cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
     
    // recupere la valeur
    if (isset($_GET['id'])) {
       $libelle_famille = intval($_GET['id']);
       $sql = 'select * from produit where libelle_famille=' . $libelle_famille;
    }
    ?>
    Donc en clair quand je suis sur produit_famille je veux aller chercher les données de la table produit et non la table famille

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $libelle_famille = mysql_real_escape_string($_GET['id']);

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 84
    Points
    84
    Par défaut
    Nan c'est bon j'ai trouvé lol ;
    Il fallait enlever le petit intval mdr
    Merci bcp

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

Discussions similaires

  1. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25
  2. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  3. [Kylix] passage de variable en Libc
    Par zheng dans le forum EDI
    Réponses: 11
    Dernier message: 06/05/2004, 14h14
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. [langage] Passage de variables...
    Par martijan dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2003, 09h48

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