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 :

Récuperation de données pour une requête [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Par défaut Récuperation de données pour une requête
    Bonjour à tous, je viens vous voir désespéré ! Voilà maintenant 1 bonne journée que je penche sur un soucis avec mon site internet.
    Tout d'abord c'est un projet pour mon école. C'est un site de covoiturage.
    Voici mon problème :
    La personne cherche une destination grâce un formulaire de method = "post" et redirige sur la page résultat.php.
    La page résultat.php va afficher tout les voyages disponibles entrant dans les critères de recherches. Un bouton "S'INSCRIRE" est en bas de chaque proposition.
    Le problème se situe au niveau de ce bouton qui est de method=post. Je n'arrive pas à récupérer mes variables tel que l'id_voyage, le téléphone... qui sont pourtant sur la même page. J'ai l'impression que quand je clique sur le bouton s'inscrire, il recharge la page et supprime toutes les variables. J'ai essayé de les stocké dans des variables $_SESSION mais le problème est que quand je fais une requête, la variable $_SESSION prend le dernier id_voyage et non celui du voyage en question.
    Je ne sais pas si j'ai été clair
    En tout cas je vous remercie d'avance pour votre aide.. Je continue de mon coté en recherchant une solution
    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
    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
    <?php
    session_start();
    include('connexionsql.php');
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<title>COVOIT'MALIN</title>		
    	<link rel="stylesheet" type="text/css" href="index.css" media="all"/>		
    </head>
    <body>
    <?php
    if(isset($_SESSION['mail']))	{
    	if(isset($_POST['depart'], $_POST['arrive'], $_POST['date_depart'], $_POST['heure1'], $_POST['heure2'])){
    		$req = $bdd->prepare('SELECT id_voyage, depart, arrive, date_depart, prix, pseudo, mail, telephone, place_disponible FROM Voyage, Personne WHERE depart = ? AND arrive = ? AND date_depart = ? AND heure1 >= ?  AND heure2 <= ? AND Personne.mail = Voyage.id_conducteur AND Voyage.place_disponible > 0');
    		$req->execute(array(
    			$_POST['depart'], 
    			$_POST['arrive'],
    			$_POST['date_depart'],
    			$_POST['heure1'],
    			$_POST['heure2']
    		));
    		while($donnees = $req->fetch()){
    			echo $donnees['pseudo'];
    			echo $donnees['mail'];
    			echo $donnees['telephone'];
    			echo $donnees['prix'];
    			echo $donnees['depart'];
    			echo $donnees['arrive'];
    			echo $donnees['date_depart'];
    			echo $donnees['heure1'];
    			echo $donnees['heure2'];
    			echo $donnees['id_voyage'];
    			echo $donnees['place_disponible'];
    /* Ici J'essaie de stocké par exemple id_voyage dans $_SESSION mais si j'ai plusieurs voyage il prend le dernier en copte */
    			$_SESSION['id_voyage'] = $donnees['id_voyage'];
    ?>
    /* Ici je crée ce fameux bouton qui me pose problème */
    	<form method="post">
    		<input type="submit" name="test" value="s'inscrire a ce voyage"/></form>
    <?php
    		}
    	}
    }
    if(isset($_POST['test'])){
    	$req = $bdd->prepare('SELECT id_voyage FROM Voyage WHERE id_voyage = ?');
    	$req->execute(array($_SESSION['id_voyage']));
    	while($donnees = $req->fetch()) {
    		if($donnees['id_voyage'] == $_SESSION['id_voyage']){
    			echo $donnees['id_voyage'];	
    		}
    	}
    	$req->closeCursor();
    }
    ?>

  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
    Tu n'as pas besoin de session PHP.
    Par contre tu n'as rien mis dans le formulaire d'inscription c'est normal qu'il ne renvoit rien, utilise un champ "hidden" pour mettre l'id.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Par défaut
    J'essaie ça de suite,
    Merci,

    Je vous tiens au courant si ça marche.

    Au début, mon idée première était juste de faire un bouton qui permettait de faire un UPDATE sur la base SQL.

    Donc ce la donnerai :

    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
     
     
    <form method="POST">
    <input type="hidden" name="id_voyage" value="<?php$_POST['id_voyage']?>"/>
    <input type="submit" name="test" value="s'inscrire au voyage"/></form>
    <?php
        if(isset($_POST['test']
        {
          /* requête test (bidon) */
           $req = $bdd->prepare('SELECT id_voyage FROM Voyage WHERE id_voyage = ?');
           $req->execute(array($_POST['id_voyage']));
     
           while($donnees = $req->fetch())
           {
               echo $donnees['id_voyage'];
           }
           $req->closeCursor();
        }

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Par défaut
    Il n'a pas l'air d'aimer le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id_voyage" value="<?php$_POST['id_voyage']?>"/>
    php dans le value. J'ai essayé avec concaténation mais rien a y faire.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php$_POST['id_voyage']?>
    C'est comme ça que tu affiches des valeurs en PHP toi ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 16
    Par défaut
    Excuse moi, mais de toute façon ma syntaxe doit être fausse, j'ai longuement rechercher sur Internet.
    Mais je ne veux pas qu'elle s'affiche, j'aimerai les stockés dans les input de type hidden pour ensuite si l'utilisateur clique sur "S'inscrire au voyage" je puisse les récupérer pour les utiliser dans une requête SQL

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

Discussions similaires

  1. Requête Affichage Des Dernières Données pour une Dernière Date
    Par Dr_No dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/10/2009, 18h48
  2. Créer un tableau pour afficher les données d'une requête.
    Par BILANGA dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 13/10/2009, 12h04
  3. Réponses: 0
    Dernier message: 01/04/2009, 10h12
  4. Réponses: 4
    Dernier message: 22/05/2007, 14h42
  5. Réponses: 3
    Dernier message: 18/06/2005, 00h31

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