|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Bonjour à tous,
Voilà je viens vers vous pour vous demander conseil et savoir si ma demande est possible. J'ai dans ma base de données plusieurs tables dont une table où les données sont affichées en lignes cad : table1: id : equipement1 : equipement2 : equipement3 et dans ma table 2 : EquipementA : EquipementB : EquipementC Je voudrais faire une requête lorsque EquipementC = un des équipements de la table1, et afficher les équipement A,B,C Merci d'avance |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
un conseil ?? revoyez votre modele de données ...
Citation:
De plus, pour vos requetes, ca va etre beaucoup plus compliqué. Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
|
20
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Bonjour, disons que je reçois le fichier comme ceci c'est pour ça que j'essaie de faire une requête pour le récupérer
|
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Le format du flux de vos données d'entrées ne devrait pas être en relation avec votre modèle de données : vous devriez être capable de gérer votre flux d'entrée pour fournir à votre modèle des données cohérentes (ou alors petite flem du developpeur pour ne pas avoir à traiter les données d'entrées).
Bref, pour votre cas, une requête du genre Code :
Cependant,réfléchissez quand même à la possibilité de modifier votre modèle de données afin de rendre votre application plus évolutive et votre code moins complexe. Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
||
|
|
20
|
|
|
#5 | |||
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Bonjour, et merci de tes réponses rapides, je t'ai écouté et j'ai reformulé mon fichier comme ceci
ID/Équipements J'ai réussi à tester toutes les différentes informations que je souhaitais via phpmyadmin mais quand je recopie les informations sur mon script PHP j'ai une erreur qui apparait à cause du tampon j'imagine, mais je nevois pas comment régler le problème Citation:
Code :
|
|||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
enlevez vos ";" à la fin de vos instructions SQL :
Code :
$reponse3 = $bdd [...] WHERE Equipement1 = EquipementA;"); Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Je viens de modifier mon code mais cela ne change rien au message d'erreur
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Vous n'avez pas un curseur qui n'a pas été fermé dans votre code ?
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
J'en suis sûr, c'est la première fois que j'utilise les tables temporaires avec php.
Je pense que le problème vient de là Car comme je l'ai dis les requêtes fonctionnent à merveille avec phpmyadmin |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Le pb est que vous mettez plusieurs instructions SQL dans vos QUERY !!
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Comment faire alors pour résoudre ce problème,
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Ne pas passer par une table temporaire, ramener vos données avec 1 seule requête
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Le problème si je ne passe pas par la table temporaire, il me donne une somme trop importante, pourquoi? car il récupère 4/5 fois le nom de l'équipement et donc au final la somme est faussée. Alors qu'en passant par la table temporaire il me ressort juste le bon nombre d'équipements.
Il doit bien avoir un moyen de pouvoir utiliser la table temporaire avec PHP, le tout est de savoir comment? C'est quand même dommage de se faire brider par php |
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Le problème est donc bien la réalisation de votre requête. Vous essayez de passer par un artifice (table temporaire) pour essayer de contourner votre problème et pas pour essayer de le résoudre.
Dans vos requêtes, vous avez les tables test2 et test. Comment sont-elles définies ? Dites en plus sur votre modèle de données. Vous pouvez, pour commencer, supprimer l'utilisation de votre table temporaire, en en faisant une sous-requête de votre 2eme requête. Mais je pense que votre requête est à revoir, afin de la simplifier et l'optimiser. Cependant, avec le peu d'info que vous donnez, ce n'est pas simple. Ex d'utilisation de sous-requête Code :
Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
||
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : janvier 2010 Messages : 22 ![]() |
Voici comment est composée ma base, toutes les valeurs qui sont dans les bases sont fictives.
Fichier base.jpg Il faut que zone.NC = ‘Valeur’ et que zone.Boucle = Test2.BoucleGE et n’avoir qu’une seule valeur de Routeurs. Cela nous donne ceci : Premieressai.png Car il peut y avoir plusieurs BAS qui pointent sur la table Test2. Et donc nous ressortir plusieurs fois le nom des Routeurs Deuxièmeessai.png Maintenant si je mets en place ta formule avec le double select imbriqué Code :
Et à ma façon en passant par la table temporaire donc la première requête + la somme cela nous donne ceci Final.png Voilà je pense que j'ai tour marqué pour que mon problème soit résolu. En tout cas encore merci Yanika_bzh |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com