Requete SQL enchainée et PHP

Petit nouveau ! | 2 Messages

25 janv. 2017, 21:48

Bonjour à tous,
je suis un nouveau venu et j'espère pouvoir trouver mes réponses grâce à vous.
Je suis débutant en PHP et SQL mais je comprend bien les requêtes et les jointures car auparavant je requêtait sous paradox.
Du coup j'avais certaines habitudes qui me facilitait bien la vie et je ne comprend pas pourquoi je n'arrive pas à reproduire ce fonctionnement.

Je vous explique mon cas, je souhaite en PHP, faire une requête (lien ODBC) sur une base SQL,
jusque là pas de soucis j'y arrive sans difficulté mon GROS problème est que je souhaiterais effectuer non pas une grosse requête SQL mais une 1ere requête qui me donne une table résultat sur laquelle je peux effectuer des requête, des jointures avec d'autres table SQL ou pas.

Pouvez vous m'orienter car je suis dans le vague total :priere: .

Merci par avance,

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8677 Messages

26 janv. 2017, 11:44

salut,

en php, comme dans beaucoup de langage, tu fais un requête SQL et tu as un jeux de résultat. tu ne pas, comme une connexion avec un client SQL, faire une requête que tu colle dans une table mémoire pour exploiter ensuite. Enfin si mais pas simplement et il faudra toujours la même connexion.

ensuite il faut voir ce dont tu as besoin, il est surement possible de diminuer le jeux de résultat (par exemple avec with) utiliser une pagination (peux de cas où l'on a besoin d'une tonne enregistrement, en dehors d'un export de table).

Donc au final une requête SQL avec jointure qui vont bien, on pense à ne pas utiliser de select * et le tour est joué (surtout pas de requête dans une boucle tant que c'est évitable ;) ).

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

26 janv. 2017, 14:37

Merci pour ton retour, même si ce n'est pas la réponse que j'attendais. Si il faut que je change mes habitudes et surtout mes illusions pas de probleme, il faut juste le savoir pour ne pas resté sur ses convictions et ne pas avancer.
Je t'explique mon cas :
j'ai 2 tables
1 table avec une liste d'article avec leur stock sur diffèrent dépôt (EI_MAG, EI_ATP, EP_MAG, EP_ATP, EC_MAG, EC_ATP, ..... )
1 table avec une liste de besoin par article par dépôt.
Ce que souhaiterais obtenir comme résultat, c'est pour chaque article le total des besoins sur EP (somme des EP_MAG+EP_ATP+EP_....) mais en plus avoir les stock de EP sur 1 colonne, le stock sur EI sur 1 colonne et EC sur une 3eme colonne.
J'espère avoir été assez clair dans mes explication.
Ce que je voulais faire c'est 1 requête avec la somme mes besoins sur EP (ça c'est bon ca marche) , et une seconde requête avec la somme des stocks (déjà là je bug car j'ai bien pris 2 caractères pour avoir EP EI et EC mais les lignes articles apparaissent quand même en plusieurs ligne) et ensuite une troisième pour joindre les 2.
Voilà voilà !!!!

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8677 Messages

26 janv. 2017, 17:28

quelque chose du genre

select sum(EP_MAG+EP_ATP+EP_) as ep, sum(el_ ....) as el etc from latable where ..... group by (les bonnes colonnes) ?

sinon plein de sub select.

@+
Il en faut peu pour être heureux ......