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écupérer des valeur dans 2 tables différentes


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    Décembre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 30
    Par défaut récupérer des valeur dans 2 tables différentes
    Bonjour tous le monde. Voici mon sushi : j'aimerai sur la photo jointe savoir comment faire pour récupérer la valeur de IdTicket de la table Ticket ,et de IdUtilisateur de la table Utilisateur, pour les mettre dans Traitement_ticket.
    merci d'avance pour votre aide et votre efficacité qui sont au top sur ce forum.

    Nom : mcd.png
Affichages : 398
Taille : 70,2 Ko

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 696
    Par défaut
    pour faire cela, vous pouvez utiliser une requête SQL avec une jointure :
    https://sqlpro.developpez.com/cours/sqlaz/jointures/

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    Quand un utilisateur achete un ticket vous avez normalement les deux infos à mettre dans la table !
    Je ne comprend pas bien votre question.

  4. #4
    Membre actif Avatar de abdennour bouaicha
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 98
    Par défaut
    le problème dans ton mcd les clés étrangers qui fassent la liaison n'apparaissent pas, alors j'ai supposé que idTraitement est un clé étranger chez Ticket est Utilisateur
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    elect Ticket.idTicket,Utilisateur.IdUtilisateur from traitementTicket inner join Ticket on traitementTicket.idTraitement=Ticket.idTraitement inner join Utilisateur on traitementTicket.idTraitement=Utilisateur.idTraitement

  5. #5
    Membre averti
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    Décembre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 30
    Par défaut
    Bonjour, en faite j'aimerai quand je crée un ticket que les champs de IdTicket dans ticket apparaissent dans Traitement_ticket hors ce n'est pas le cas actuellement voici des photos.

    dans la table ticket
    Nom : idticket_ticket.png
Affichages : 297
Taille : 96,5 Ko

    dans la table traitement _ticket
    Nom : idticket_traitement_ticket.png
Affichages : 299
Taille : 139,3 Ko$

    Les table est totalement vide.

    Cordialement

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par anthony25 Voir le message
    ...Les table est totalement vide...
    Tu veux dire "l'étable" ?
    Adieu, veaux, vaches, cochons...

    Sinon,........ Tu comptes nous montrer ton code un jour, ou pas du tout ??
    • formulaire HTML ?
    • traitement PHP ?
    • ... ?
    Dernière modification par Invité ; 14/11/2019 à 14h48.

  7. #7
    Membre averti
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    Décembre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 30
    Par défaut
    Yes voici le 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
     
    <?php
    session_start();
    include 'fonction.php';
    print_r($_SESSION['utilisateur']);
    $_SESSION['utilisateur']['IdUtilisateur'];
    if(isset($_POST['Envoyer'])){
     
     
    // Requete de enregistrement d'un ticket par un utilisateur
        $sql =   "INSERT INTO ticket(entreprise, Atelier , NPoste, Type, Date , Message, Internet, Reseau, Importance)  
                   VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
                $requete=$pdo->prepare($sql);
                $requete->bindValue(1,$_POST['entreprise']);
    			$requete->bindValue(2,$_POST['Atelier']);
    			$requete->bindValue(3,$_POST['NPoste']);
    			$requete->bindValue(4,$_POST['Type']);
                            $requete->bindValue(5,$_POST['Date']);
     			$requete->bindValue(6,$_POST['Message']);
    			$requete->bindValue(7,$_POST['Internet']);
                            $requete->bindValue(8,$_POST['Reseau']);
    			$requete->bindValue(9,$_POST['Importance']);				
    			$requete->execute();       
     
    	$sql="INSERT INTO traitement_ticket(IdUtilisateur,IdTicket)
    			VALUES (?,?)";
    			$requete=$pdo->prepare($sql);
    			$requete->bindValue(1,$_SESSION['utilisateur']['IdUtilisateur']);
    			$requete->bindValue(2,$_POST['IdTicket']);
    			$requete->execute(); 			
    			exit();
    		}
     
     
    ?>

  8. #8
    Invité
    Invité(e)
    Par défaut
    Alors,

    1- déjà, on va éviter d'utiliser bindValue avec les placeholders anonymes ("?").
    On va passer les paramètres directement en array() dans le execute() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sql = "INSERT INTO ticket(entreprise, Atelier , NPoste, Type, Date , Message, Internet, Reseau, Importance)  
    VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
    $requete=$pdo->prepare($sql);
    $requete->bindValue(1,$_POST['entreprise']);
    $requete->bindValue(2,$_POST['Atelier']);
    $requete->bindValue(3,$_POST['NPoste']);
    $requete->bindValue(4,$_POST['Type']);
    $requete->bindValue(5,$_POST['Date']);
    $requete->bindValue(6,$_POST['Message']);
    $requete->bindValue(7,$_POST['Internet']);
    $requete->bindValue(8,$_POST['Reseau']);
    $requete->bindValue(9,$_POST['Importance']);	
    $requete->execute();
    Devient alors :
    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
    $sql = "INSERT INTO ticket 
       (entreprise, Atelier , NPoste, Type, Date , Message, Internet, Reseau, Importance)  
       VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
    $requete=$pdo->prepare($sql);
    $requete->execute( array(
       $_POST['entreprise']);
       $_POST['Atelier']);
       $_POST['NPoste']);
       $_POST['Type']);
       $_POST['Date']);
       $_POST['Message']);
       $_POST['Internet']);
       $_POST['Reseau']);
       $_POST['Importance']
       ));
    c'est plus simple et rapide à écrire (il faut juste faire attention à l'ordre des paramètres).

    2- JUSTE APRÈS cet INSERT, on peut récupérer l'idTicket créé avec PDO::lastInsertId :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $idTicket = $pdo->lastInsertId();
    Et voilà : tu as récupéré l'idTicket, à insérer dans la table traitement_ticket !


  9. #9
    Membre averti
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    Décembre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 30
    Par défaut
    Bonjour ,
    Bon je n'arrive toujours pas avec ma requête.
    voici le 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
     
     $sql =   "INSERT INTO ticket(entreprise, Atelier , NPoste, Type, Date , Message, Internet, Reseau, Importance )						
    			   VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
     
                $requete=$pdo->prepare($sql);
                $requete->bindValue(1,$_POST['entreprise']);
    			$requete->bindValue(2,$_POST['Atelier']);
    			$requete->bindValue(3,$_POST['NPoste']);
    			$requete->bindValue(4,$_POST['Type']);
                $requete->bindValue(5,$_POST['Date']);
    			$requete->bindValue(6,$_POST['Message']);
    			$requete->bindValue(7,$_POST['Internet']);
                $requete->bindValue(8,$_POST['Reseau']);
    			$requete->bindValue(9,$_POST['Importance']);		
    			$requete = $pdo->lastInsertId();			      
     
     
     
    	$sql="SELECT Max(IdTicket)
    			FROM ticket		 
    			insert into traitement_ticket (IdTicket)
    			VALUES(?)";
     
                $requete=$pdo->prepare($sql);
    			$requete->bindValue(1,$_POST['IdTicket']);
     
    		$requete->execute();
    	exit();
    	}
    Help me.
    Bonne journée a vous
    Cordialement

  10. #10
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    Pq vous n'écrivez pas votre requête comme @jreaux62 vous l'as proposé ?
    Dans votre deuxième requête, quel intêret de faire un select..insert...si c'est pour insérer une valeur que vous avez décidé ? Le select ne sert à rien du coup

  11. #11
    Membre averti
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    Décembre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 30
    Par défaut
    Bah je suis débutant en php et j'ai un peut de mal. je souhaiterai prendre la valeur de la clé primaire de ma table ticket pour la mettre dans la clé étrangère de la table traitement_ticket.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je t'ai tout expliqué dans mon précédent message...

    Que te dire de plus ?


    N.B. J'ai mis des liens aussi... Je parie que tu n'as pas cliqué dessus...

  13. #13
    Membre averti
    Homme Profil pro
    BTS SIO SLAM
    Inscrit en
    Décembre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO SLAM
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 30
    Par défaut
    Bonjour,
    SI j'ai bien regardé tout ce que vous m'avez envoyé.

Discussions similaires

  1. [MS SQL] Remplacer des valeurs dans plusieurs tables
    Par salmoliv dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/10/2006, 17h31
  2. Macro - Ecrire des valeurs dans une table
    Par gojaru dans le forum Access
    Réponses: 2
    Dernier message: 17/08/2006, 13h54
  3. [VBA-A] Récupérer une valeur dans une table Access
    Par Dude2006 dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/04/2006, 23h56
  4. Réponses: 2
    Dernier message: 12/04/2006, 10h00
  5. Récupérer des valeurs dans des fichiers html
    Par nico93100 dans le forum Langage
    Réponses: 1
    Dernier message: 05/01/2006, 21h46

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