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

PHP & Base de données Discussion :

Passage de paramètres dans l'URL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Par défaut Passage de paramètres dans l'URL
    Bonjour,

    Je souhaiterais passer en paramètres dans l'URL afin de faire la liaison entre les pages.

    J'ai cherché et j'ai trouvé comment faire (un exemple) :

    Sur la page : index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><a href="bonjour.php?nom=Dupont&prenom=Jean">Dis-moi bonjour !</a></p>
    Sur la page : bonjour.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p>Bonjour <?php echo $_GET['prenom'] . ' ' . $_GET['nom']; ?> !</p>
    J'ai compris le principe donc j'essaye de l'appliquer dans mon cas mais ça me pose problème.
    Je vous explique ce que je veux transmettre :
    - l'identifiant de l'utilisateur connecté,
    - le titre de la page

    Pour récupérer l'identifiant de l'utilisateur connecté, voici la requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Sélectionnement de l'identifiant de l'élève connecté dans la base de données
    	$query_selection_identifiant_id_eleve_connecte = mysql_query("SELECT DISTINCT(id_utilisateur) FROM test_site_utilisateur WHERE pseudo_utilisateur='$pseudo_utilisateur' AND acces_utilisateur='1' OR acces_utilisateur='4'") or die ('Erreur lors de la requête SQL qui permet de sélectionner l\'élève connecté.'); // Envoie une requête à un serveur MySQL
    Le problème c'est qu'il faut que je fasse une boucle while (ci dessous) sur une autre requête SQL, la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       	// Sélectionnement des Cours/TP de l'élève dans la base de données
    	$query_selection_cours_tp_eleve = mysql_query("SELECT DISTINCT(titre_cours),t3.matiere_cours_tp,t3.classe_cours_tp,t3.date_depot_cours_tp,contenu_cours_tp,t3.nom_auteur_cours_tp,type_devoir_cours_tp,t3.date_cloture_validation_cours_tp FROM test_site_utilisateur t1, test_site_questions t2,test_site_cours_tp t3 WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t3.type_devoir_cours_tp='1' AND t2.type_devoir='1'") or die ('Erreur lors de la requête SQL qui permet de récupérer les Cours/TP d\'un élève.'); // Envoie une requête à un serveur MySQL

    Je vous mets la boucle while sur la requête SQL ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while ($donnees_cours_tp_eleve = mysql_fetch_assoc($query_selection_cours_tp_eleve)) {
    	echo '<tr>';
       // echo '<td align="right"><a href="page.php?usr_id='.$query_selection_identifiant_id_eleve_connecte.'titre_cours_tp=' . urlencode($donnees_cours_tp_eleve['titre_cours']).'"</a></td>';
     
    echo '<td align="right"><a href="avancement_global.php?'.urlencode($donnees_cours_tp_eleve['titre_cours']).'"&&"">'.$donnees_cours_tp_eleve['titre_cours'].'</td>';
    }
    Le truc, c'est qu'il y a deux requêtes SQL à gérer.

    Vous remarquerez que j'ai utilisé pour encoder l'adresse URL.

    En une seule phrase : comment gérer la transition entre les deux pages tout en "gardant" les fonctionnalités ces deux boucles ?

    Pouvez-vous m'éclairer SVP ?

    Cordialement.

  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
    Par défaut
    Pour gérer ton utilisateur connecté, utilise une session PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Par défaut
    Ok, je vais utiliser les variables de sessions. C'est beaucoup plus simple comme ça qu'en passant grâce aux paramètres dans l'URL.

    Mais, comment tu fais pour faire passer les variables de sessions au clic sur le titre ?


    Finalement, j'ai mis cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['titre_cours']=$donnees_cours_tp_eleve['titre_cours'];
    La valeur est transmise.

    Mais est-ce que s'il y a plusieurs enregistrement, la variable de session va prendre comme valeur l'"item" sur lequel l'utilisateur a cliqué/choisi ?

    Cordialement

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    une solution consiste à remplacer le lien <a...> par un formulaire <form method="post"...>,
    avec les 2 données transmises en <input type="hidden" .../>

  5. #5
    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
    Par défaut
    L'utilisateur connecté va en session car il persiste pendant toute la navigation.
    Le "titre_cours" est transmis par le lien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 278
    Par défaut
    Bonjour,

    Je reviens vers vous car je rencontre deux problèmes.

    Premier problème : Sur la page qui recense tous les cours :

    Quand il y a qu'un enregistrement dans la base de données, le titre s'affiche (avec le lien) qu'une fois. Jusque là, c'est bon !
    En ajoutant un enregistrement dans la base de données, les titres s'affichent en double (exemple : Premier enregistrement, Premier enregistrement, Deuxième enregistrement, Deuxième enregistrement) alors que je voudrais afficher : Premier enregistrement, Deuxième enregistrement, etc...

    Voici la requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // Sélectionnement des Cours/TP de l'élève dans la base de données
    $query_selection_cours_tp_eleve = mysql_query("SELECT DISTINCT(titre_cours),t3.matiere_cours_tp,t3.classe_cours_tp,t3.date_depot_cours_tp,contenu_cours_tp,t3.nom_auteur_cours_tp,type_devoir_cours_tp,t3.date_cloture_validation_cours_tp FROM test_site_utilisateur t1, test_site_questions t2,test_site_cours_tp t3 WHERE t1.pseudo_utilisateur='$pseudo_utilisateur' AND t3.type_devoir_cours_tp='1' AND t2.type_devoir='1'") or die ('Erreur lors de la requête SQL.'); // Envoie une requête à un serveur MySQL
    Voici le test en intégralité (avec la boucle) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(mysql_num_rows($query_selection_cours_tp_eleve)>0) {
    echo "blabla (début tableau)"
    while ($donnees_cours_tp_eleve = mysql_fetch_assoc($query_selection_cours_tp_eleve)) {
    	echo '<tr>';
        echo '<td align="right"><a href="cours_tp.php" target="_blank">'.$donnees_cours_tp_eleve['titre_cours'].'</a></td>';
        echo '<td align="right">'.dateLongueSansHeure($donnees_cours_tp_eleve['date_cloture_validation_cours_tp']).'</td>';
     
    	// Variable de session (pour gérer la transmission des variables du cours/tp)
    	$_SESSION['titre_cours_tp']=$donnees_cours_tp_eleve['titre_cours'];
    }
    	echo 'fin tableau';
    }
    Deuxième problème : Sur la page qui affiche le cours
    Cette page affiche le cours, jusque là c'est bon, voici le problème : quand on change de cours (enregistrements), il s'affiche en dessous du premier.
    J'aimerais que quand on change de cours, le premier s'efface pour laisser la place au second.
    Pour cela, j'ai essayé de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unset($_SESSION['titre_cours_tp']);
    dans la boucle mais ça ne fonctionne pas.

    Pouvez-vous m'aider SVP ?

    Cordialement

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

Discussions similaires

  1. passages de paramètres dans l'url
    Par anchain dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 13h58
  2. [1.5][Zend_Controller] Passage de paramétres dans l'url
    Par Jonathan.b dans le forum Zend Framework
    Réponses: 4
    Dernier message: 16/04/2008, 19h37
  3. Passage de paramètre dans l'url
    Par ..::snake::.. dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/01/2008, 09h52
  4. passage de paramètre dans une url
    Par samira84 dans le forum Struts 1
    Réponses: 5
    Dernier message: 12/06/2007, 15h52
  5. erreur de passage de paramètre dans une urL
    Par lodan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/02/2007, 12h29

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