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 :

récuperé champs meme nom


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Points : 71
    Points
    71
    Par défaut récuperé champs meme nom
    Bonjour,
    je voulais savoir si on pouvais récupéré dans une requête select avec jointure dans deux table différent le même nom

    ex: table jouet champ maquette
    table fabriquant:champ maquette

    merci de votre réponse et bravo pour le changement du site,très joli

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Hello !

    oui, c'est très facilement faisable en mettant nomdelatable.nomduchamp (ex : jouet.maquette et fabriquant.maquette).

    Il est même d'ailleurs recommandé de toujours utiliser cette notation, même lorsqu'il ne semble avoir aucun conflit a priori, ceci permettant à la requête d'être plus parlante visuellement et empêcher toutes confusions possibles.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  3. #3
    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
    Il faut également utiliser des alias pour pouvoir récupérer correctement les deux en PHP :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT jouet.maquette as jouet_maquette, fabriquant.maquette as fabriquant_maquette
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Oui mais il faut leur donner un autre nom via un alias.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT table1.champs AS champs_table1, table2.champs AS champs_table2 ...

    Edit : J'ai laissé mon message en suspens mais à priori on ne voit pas les nouveaux messages quand on fait prévisualiser à notre retour.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Points : 71
    Points
    71
    Par défaut
    en faisant sa on est obligé d'utiliser les deux alias pour les afficher,on ne peut pas utiliser une seule variable

    ex $données['nom']

    on doit faire $données['jouet_maquette'] et $données['fabriquant_maquette']

  6. #6
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Et cela ne te convient pas ? Il est toujours possible de les concaténer avec le point en php pour ne faire qu'un à l'affichage

    Sinon, c'est aussi possible de ne faire qu'un seul champ en sql, en supposant que tu utilises mysql cela donne:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONCAT(jouet.maquette, ' ',fabriquant.maquette ) as concatmaquette
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Points : 71
    Points
    71
    Par défaut
    j'ai essayé mais je pense que je fais mal,je donne la requête sans les modif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $req=$db->prepare('SELECT nom,taille,prix,quantite_panier FROM identification 
    LEFT JOIN taille ON taille.id_tailles = identification.id_taille
    LEFT JOIN articles ON articles.id_articles = identification.id_article
    LEFT JOIN panier ON panier.id_article_panier = identification.id
    WHERE id IN ('.implode(',',$ids).')');	
    $req->execute();
    $data=$req->fetchall();
    cette requête alimente ceci

    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
    $params = array(
    	'RETURNURL' =>"http://localhost/paiement/commandevalide.php",
    	 'CANCELURL'=>"http://localhost/paiement/commandeAnnule.php",
    	 'PAYMENTREQUEST_0_AMT' => $_SESSION['total'],
    	 'PAYMENTREQUEST_0_CURRENCYCODE'=>'EUR',
    	  'PAYMENTREQUEST_0_ITEMAMT' =>$_SESSION['total'],
    	 'PAYMENTREQUEST_0_CUSTOM' => $_SESSION['id'],
    	  );
     
    	while(list($k, $prod) = each($data)){
        	$params['L_PAYMENTREQUEST_0_NAME'.$k] = $prod['nom']; 
    	$params['L_PAYMENTREQUEST_0_DESC'.$k] = $prod['taille'];
    	$params['L_PAYMENTREQUEST_0_AMT'.$k] = $prod['prix'];
    	$params['L_PAYMENTREQUEST_0_QTY'.$k] = $prod['quantite_panier'];
     
    }
    je dois rajouter une autre table qui est nullement lier a celle ci pour rajouter un bon de reduction

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 295
    Points : 71
    Points
    71
    Par défaut
    bon j'ai résolu le problème,en mettant l'id et la quantité en panier est sa me donne bien se que je voulais

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

Discussions similaires

  1. [MySQL] un lien pour plusieurs champ du meme nom
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/11/2007, 10h31
  2. Réponses: 4
    Dernier message: 10/10/2007, 15h31
  3. [MySQL] Récuéprer deux champs au meme nom dans un Innerjoin
    Par easyjava dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/10/2006, 12h25
  4. [MySQL] Sélectionner deux champs du meme nom dans deux tables
    Par Msieurduss dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 14/06/2006, 22h54
  5. FieldbyName => deux champs du meme nom
    Par dacid dans le forum Bases de données
    Réponses: 2
    Dernier message: 13/01/2005, 14h05

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