Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

Aide:Recuperer le mois précedent??[maj]

Pour ceux qui débutent en PHP.

Aide:Recuperer le mois précedent??[maj]

Messagepar guigui69 08 Avr 2008, 16:53

Bonjour à tous,

Dans ma base de donnée je suis entrain de réaliser la base pour l'inventaire pour ma boite, et je chercher comment je pourrait récupérer le mois précédent .

la date est du type "année-mois".

Existe-il une fonction php ou mysql qui permettrait d'avoir le mois précédent dans ma condition

Syntaxe: [ Télécharger ] [ Masquer ]
Code php

SELECT code_m, nom_m, nom_four,cond_m, unite_conditionnement, pu_m,

(SELECT qte_inventaire_mat FROM inventaire_mat WHERE date_inventaire_mat= ????) AS qte-1,

FROM matiere_type ORDER BY nom_matiere_type;

 


???? ici la date du mois précédent.

Merci d'avance pour votre aide.

guigui69
Dernière édition par guigui69 le 09 Avr 2008, 11:43, édité 2 fois.
guigui69
Eléphanteau
 
Messages: 372
Inscription: 17 Oct 2007, 09:40

Messagepar Ryle 08 Avr 2008, 16:58

A partir des fonctions NOW() (pour avoir la date du jour), DATE_SUB() (pour soustraire une valeur), et DATE_FORMAT() pour obtenir un résultat qui colle à ton format... tu dois pouvoir y arriver :)

:arrow: FAQ : Quelques petites manipulations avec les dates (PHP/MySQL)
http://www.phpfrance.com/forums/voir_sujet-8323.php
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...
Avatar de l’utilisateur
Ryle
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 9740
Inscription: 07 Fév 2006, 17:25
Localisation: Lat: 48°89. Long: 2°30.

Messagepar caroube 08 Avr 2008, 17:04

En PHP tu as la fonction magique strtotime() qui te permet de récupérer à peu près ce que tu veux à partir du moment où tu as converti ta date yyyy-mm en timestamp (transforme en 1er du mois).

En MySQL, il faut que tu jettes un coup d'oeil sur cette page http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html
caroube
Eléphanteau
 
Messages: 422
Inscription: 26 Mar 2008, 10:31

Messagepar guigui69 08 Avr 2008, 18:37

Merci pour vos réponses

donc mon code

SQL donne ceci:

Syntaxe: [ Télécharger ] [ Masquer ]
Code php



SELECT code_m, nom_m, nom_four,cond_m, unite_conditionnement, pu_m,

(SELECT qte_inventaire_mat FROM inventaire_mat WHERE date_inventaire_mat= DATE_SUB('$date_inventaire', INTERVAL 1 MONTH;) AS qte-1,

FROM matiere_type WHERE nom_matiere_type= '$id_matiere_type';



 


$date_inventaire=2008-02


Ça vous semble correct ?

Et si je demande d'afficher ça sous forme de tableau html classique ça va faire ceci:

code_m|nom_m|nom_four|cond_m -unite_conditionnement|qte-1|

Merci d'avance pour votre aide.

guigui69

-----------------------------------------------
MAJ j'aurai besoin d'une aide:

Car dans ma table inventaire j'ai un champ date_inventaire au format Date.

Est-il possible d'avoir au niveau du format date le mois et l'année?

Car je voudrait que dans ce champ les personne donne juste le mois et l'année.



guigui69

________________________

encore une MAJ

Peut-on faire une requête qui dirait : qui afficherait la qte de du précédent inventaire.

Juste la date prédente, par exemple il j'ai celle du mois de janvier, celle de février et mars, et que je réalise celle de avril je voudrait voir apparaitre seulement celle de mars.

Merci d'avance pour votre aide car la je ne sais pas trop comment faire


guigui69
guigui69
Eléphanteau
 
Messages: 372
Inscription: 17 Oct 2007, 09:40

Messagepar guigui69 11 Avr 2008, 09:23

Merci pour votre aide.

J'ai changer la façon de faire,

J'ai créer de 2 champs en plus (mois_inventaire_mat; annee_inventaire_mat).


J'ai encore une petite demande d'aide. J'arrive sur ma premier page je demande quel inventaire je veut ainsi que le mois que je veut. J'arrive sur la seconde page,

$id_matiere_type
$mois_inventaire_mat
$annee_inventaire_mat

Je voudrait réaliser une requête qui récupère tout les produit de matière première ($id_matiere_type), avec leur nom, leur code, leur fournisseur et en même temps la dernière quantité du mois précédent pour ces produit ci, mais qui n'empêche pas d'afficher les nouvelle matière rentrée.

C'est assez dure a expliquer.


SELECT matiere.code_m, nom_m, nom_four, cond_m, unite_conditionnement,
(SELECT qte_inventaire_mat FROM inventaire_mat WHERE mois_inventaire_mat=$mois1 AND annee_inventaire_mat= $annee1) AS qte1
FROM inventaire_mat
LEFT JOIN matiere ON matiere.code_m = inventaire_mat.code_m
INNER JOIN fournisseur ON matiere.id_four = fournisseur.id_four
INNER JOIN conditionnement ON conditionnement.id_conditionnement = matiere.id_conditionnement
WHERE id_matiere_type = '1'


Dans la requête ci-dessus, je demande "matiere.code_m, nom_m, nom_four, cond_m, unite_conditionnement," ainsi que la quantité du mois précédent ((SELECT qte_inventaire_mat FROM inventaire_mat WHERE mois_inventaire_mat=$mois1 AND annee_inventaire_mat= $annee1) AS qte1) correspondant pour chaque produit.

Ma requête vous semble bonne dans la démarche? Faut-il rajouter des jointures dans "(SELECT qte_inventaire_mat FROM inventaire_mat WHERE mois_inventaire_mat=$mois1 AND annee_inventaire_mat= $annee1) AS qte1" pour qu'il réalise la liaison avec la bonne matière ?


Car le je veut aussi afficher les nouveau produit qui non pas encore rentrée dans l'inventaire

Merci d'avance pour votre aide.

guigui69
guigui69
Eléphanteau
 
Messages: 372
Inscription: 17 Oct 2007, 09:40

Messagepar pjl 11 Avr 2008, 09:47

guigui69 a écrit:J'ai créer de 2 champs en plus (mois_inventaire_mat; annee_inventaire_mat).

Heureusement que tu ne dois pas avoir l'heure à la milliseconde prés pour ton inventaire.
Je n'ose imaginer les champs que tu aurais du rajouter.
pjl
ViPHP
ViPHP
 
Messages: 2114
Inscription: 21 Fév 2005, 13:10

Messagepar guigui69 11 Avr 2008, 09:55

Oui je sais bien.
guigui69
Eléphanteau
 
Messages: 372
Inscription: 17 Oct 2007, 09:40

Messagepar pjl 11 Avr 2008, 10:02

Alors, pourquoi le fais-tu ?
pjl
ViPHP
ViPHP
 
Messages: 2114
Inscription: 21 Fév 2005, 13:10

Messagepar guigui69 11 Avr 2008, 10:49

et ben pour donnée un mois et une année a cette inventaire. (exemple: inventaire du 04 2008)

Merci


guigui69
guigui69
Eléphanteau
 
Messages: 372
Inscription: 17 Oct 2007, 09:40


Retourner vers PHP débutant

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 14 invités