choisir sa table lors de l'envoi du formulaire - PHP - Programmation
Marsh Posté le 14-01-2008 à 05:29:50
Bah là déjà tu traites 4 et 6 mais pas 5 donc pour 5 c'est normal. Ensuite ton select de la ligne 13 te remonte tous les vendeurs dans l'ordre normal et tu récupères que le premier enregistrement à la ligne 14 (le 4 je suppose ) Faut que tu mettes un where pour récupérer ce que tu veux
Voilà pour ton problème. Maintenant je comprends pas pourquoi tu fais ça c'est archi crade à gérer et voilà le bordel dans le modèle... Pourquoi Quelle est la répartition
Sinon pour le vendeur si c'est bien le même à chaque coup, utilise plutot une session pour stocker sa table plutot que d'aller la chercher à chaque fois. Et pourquoi pas automatiser la chose mais ça dépend de comment tu comptes répartir.
Autre chose, essaye autant que faire se peut de récupérer que ce qui est intéressant avec tes select, en l'occurence uniquement le nom de la table le reste on s'en secoue sauf si t'en a besoin plus loin => évite le * non nécessaire
Marsh Posté le 14-01-2008 à 23:27:02
Que de conseils judicieux, merci!!!
Mais voilà, concrètement, je voudrais que, en fonction du vendeur (car il y en a plusieurs), les détails de ses clients s'enregistrent dans la table correspondant au vendeur. Pour ça, mon principe n'est pas correct?
Pour ce qui est du WHERE, il devrait etre dans quelle ligne? Et que devrait-il contenir? (merci d'aider le débutant que je suis )
L'histoire du WHERE, c'est le plus important pour que je puisse continuer. SVP, sauvez-moi
Marsh Posté le 15-01-2008 à 05:28:41
Le where c'est quoi Ca te permet de donner une contrainte à ce que tu choisis, en l'occurence il faut que tu choisisse un vendeur donné, sinon tu réupères la liste de tous les vendeurs Donc faut restreindre et qu'est ce qui définit une ligne comme unique L'identifiant unique Donc faut s'en servir
Je te conseille d'installer phpmyadmin si c'est pas déjà fait Joue avec les requêtes et regarde ce que ça te ramène y'a que comme ça que ça rentre
Marsh Posté le 15-01-2008 à 09:32:29
Et si, à la place de mettre une table différente par vendeur, tu mettais une seule table des vente, qui reprend avec une clef étrangère qui parmi les vendeurs a fait la vente ? (ou, si plusieurs vendeurs peuvent faire une même vente, alors une table croisée mais bon là je sens que tu ne vas pas suivre )
Citation : Pour ce qui est du WHERE, il devrait etre dans quelle ligne? Et que devrait-il contenir? (merci d'aider le débutant que je suis ) |
Ligne 13. Ta requête là te montre absolument tous les vendeurs. Donc en faisant un fetch_array() sur ce resultat, tu ne prends que le premier row, quel qu'il soit. C'est dans cette requête que tu dois mettre un "where", mais la condition exacte (c'est-à-dire celle que tu mets dans le where) tu es la seule à la connaître ... : QU'EST CE QUI qualifie ce vendeur par rapport à un autre, pour cette transaction ?
Marsh Posté le 15-01-2008 à 16:41:53
Au départ, je pensais faire une seule table des ventes, avec au début un id_vendeur. Mais après j'ai besoin d'avoir par ex la somme totale d'argent pour laquelle le vendeur aura vendu.
Je prends un exemple:
id_vendeur: articles: prix:
2 pull 23
1 chemise 46
1 shirt 14
3 pull 35
2 bas 15
Si je ne fais qu'une table des ventes, il y a moyen que je puisse récupérer après le prix total des ventes pour le vendeur 2 par exemple? Donc je devrais avoir 23+15=38. (il n'y a que la réponse qui m'intéresse)
C'est là que je bloque, mais si cela est possible, ce sera certainement plus facile avec une seule table! Mais pour ca, j'ai besoin de votre confirmation avant... voire d'une bonne aide pour le code
En résumé, soit je crée une table des ventes et je sais en retirer ce que je veux après (les sommes des prix correspondant à chaque vendeur), soit il faut que les données du formulaire s'enregistrent dans la table correspondant au nom du vendeur.
merci d'avance!!
Marsh Posté le 15-01-2008 à 17:14:44
Citation : Si je ne fais qu'une table des ventes, il y a moyen que je puisse récupérer après le prix total des ventes pour le vendeur 2 par exemple? Donc je devrais avoir 23+15=38. (il n'y a que la réponse qui m'intéresse) |
Bien sûr que tu peux :
SELECT id_vendeur, sum( prix )
FROM ventes
GROUP BY id_vendeur
Si tu ne connais pas ça, je te suggère fortement l'achat d'un livre tel que "SQL pour les Nuls" et je dis pas ça pour être taquin, car ce bouquin est très bien fait...
Marsh Posté le 15-01-2008 à 18:01:57
ZeBix a écrit :
|
Ben voilà un bon conseil, merci pour la référence! Ca risque de bien m'aider, ca ne fait que quelques jours que je m'y mets dans ce domaine...
En attendant, comment puis-je arriver à afficher ce résultat?(eh oui c'est à ce point-là, mais faut bien commencer hein )
Comme ça?
Code :
|
ou je dois faire une boucle comme ça ? (en espérant que j'aie bien compris ca)
Code :
|
Merci encore...
Marsh Posté le 15-01-2008 à 18:57:59
Je te donne le copier/coller d'une petite fonction bien pratique que j'utilise tout le temps en développement pour voir si mes requêtes sont bonnes
Code :
|
tu mets ça au haut de ton fichier php ou, mieux, dans un include, et ensuite après ta requête mysql tu tapes :
resultab($sommeperso);
Il faut bien sûr que tes tables aient la nouvelle structure dont on parle ici, c'est-à-dire avec le id_vendeur en regard de chaque vente, etc.
Marsh Posté le 15-01-2008 à 19:02:40
C'est bien gentil, mais je dois avouer que c'est un niveau un peu trop haut pour moi ca, tant que maintenant j'espère.
Si je reprends ce que disait "zebix", que dois-je mettre avec le SELECT pour afficher correctement le résultat?
Y a-t-il une des 2 propositions que j'avais mises qui se rapproche? Je dois avoir une erreur qqpart pcq rien ne s'affiche comme ca.
Sauvez-moi svp, je suis coincé!!!
Marsh Posté le 16-01-2008 à 05:28:35
Installe phpmyadmin! Ca te permettra de manipuler tes tables facilement pour ce que tu veux en faire et te tester tes requêtes avec un affichage clair
Presque tout est possible en sql. Quand ça se corse ça peut être à s'arracher les cheveux mais au pire suffit de rajouter un peu de traitement php.
C'est le but même d'un SGBD de manipuler les données, cherche toujours à le faire via sql plutot qu'en php si tu peux
Donc pour ce qui est de la gestion de ventes, de stocks, de comptes tu peux tout faire avec quelques tables si elles sont bien faites
N'hésites pas à faire un tour sur la catégorie sql si tu as un soucis
Marsh Posté le 17-01-2008 à 20:14:25
Salut à tous, petite question... pour ne pas recréer un nouveau post.
J'apprends bcp avec phpmyadmin, mais!!!
Le code suivant fonctionne super bien dans ma table:
Code :
|
Mais je voudrais bien arriver à cela en créant mon site.
Comment puis-je afficher ce résultat avec php?
Vous voulez bien me transformer ca pour que je puisse le mettre dans mon code?
J'ai besoin que l'on me montre une fois pour faire de même par la suite, alors merci d'avance!!!
Marsh Posté le 17-01-2008 à 23:15:12
Mais tu vas le transformer tout seul!
T'as la requête, t'as plusieurs 'lignes', tu éxécutes ta requête, tu récupères le tableau des données et tu boucles sur le tableau pour afficher
Rien de dur, y'a plus qu'à y aller
Marsh Posté le 17-01-2008 à 23:26:14
c'est très gentil, mais sincèrement, je débute... tu ne veux pas me donner un exemple, voire la réponse? Ce serait bien sympa....
J'ai bien su enregistrer la requête dans ma base, mais je ne sais pas comment sélectionner cette requete. je ne l'ai jamais fait. un exemple svp.....
Marsh Posté le 18-01-2008 à 09:40:39
Personne pour m'aider? Je suis sûr que c'est simple, mais là, j'ai vraiment besoin d'un petit coup de pouce...
Svp...
Marsh Posté le 18-01-2008 à 11:04:43
merci, mais ca c'est ce que j'utilise en général, mais chez Lycos, j'ai la possibilité d'enregistrer ma requête. Je l'ai appelée 'somme'.
Je peux en enregistrer autant que je veux.
Actuellement j'ai, dans "Requêtes bookmarquées": 1 - somme.
Mais comment puis faire lancer et afficher le résultat de cette fameuse requête depuis ma page php??? Vu que la requête n'est pas enregistrée dans ma page php, comment puis-je l'appeler et l'exécuter? C'est ca que je ne comprends pas. Merci de m'aider...
Marsh Posté le 18-01-2008 à 11:20:08
ben c'est toujours la même chose. Ca c'est pour créer la requête! Moi elle est déjà créée mais bookmarquée sur l'hébergeur.
je voudrais juste savoir comment on fait pour l'appeler depuis une page php pour arriver à en afficher le résultat.
une idée ou c'est impossible et je m'y prends mal?
Marsh Posté le 18-01-2008 à 11:50:12
En espérant que cela réponde à ta question :
Code :
|
Marsh Posté le 13-01-2008 à 23:37:31
En fonction de l'idclients, je voudrais que les données s'enregistrent dans telle ou telle table. Est-ce possible?
Voici ce que j'ai fait dans ma page inserer.php (pour l'envoi du formulaire) et cela fonctionne à moitié. En effet, j'ai dans ma table "vendeurs" 3 vendeurs: (4,5,6). Je voudrais donc que chaque donnée s'enregistre soit dans table2 ou table3 en fonction de l'idvendeur. Et je ne sais pas pourquoi, cela ne s'enregistre que quand j'ai un id_vendeur=4. Quelqu'un y comprend quelque chose? Est-ce qu'au moins mon code a l'air correct?