Condition if grace a une date(Y) dans le contenu d'une bdd
ZeRoPsyrus
Messages postés1Date d'inscriptionjeudi 6 mars 2008StatutMembreDernière intervention 1 février 2010
-
1 févr. 2010 à 13:02
Gr3g69
Messages postés27Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention13 février 2010
-
6 févr. 2010 à 17:13
Bonjour,
Je ne suis pas habitué à poser des questions mais la je n'arrive pas à avancer :/
Je suis débutant en php et je suis entrain de me faire un petit panel me permettant de gérer ma comptabilité...
Mon problème est assez simple au fond, j'ai fait ma page me permettant de récupéré le total de toutes mes factures sur l'année courante, en l'occurrence donc 2010, en récupérant le total de chacune des factures dont l'état est 'réglée' et dont la date(Y) correspond a l'année courante.
jusque la pas de problème mais maintenant j'ai voulu faire les archives dans une boucle, donc récupéré le meme contenu mais dans une boucle avec un compteur $i++ :/
SQL();
$i = 0;
$req_archives = mysql_query ("SELECT net_a_payer,date FROM facture WHERE etat='".$etat_réglée."'")or die ('Erreur SQL ! '.$req_archives. mysql_error());
while ($donnees_archives = mysql_fetch_assoc($req_archives)){
$date_archives = date ('Y') -$i;
Ma boucle et tout le reste fonctionne bien, mon seul problème reste de retirer la comptabilité des années précédente qui n'existe pas.
Je voudrais donc que tout sois lister normalement sauf si l'année n'as jamais était rentrer dans la bdd.
Du style :
Si $date_archives n'existe pas dans le champ 'date' alors ca n'affiche rien.
Sinon on continue la boucle
En résumé je galère sur mon if ....
Merci par avance
A voir également:
Condition if grace a une date(Y) dans le contenu d'une bdd
phpAnonyme
Messages postés392Date d'inscriptionmercredi 28 octobre 2009StatutMembreDernière intervention23 mars 201255 3 févr. 2010 à 19:42
Si j'ai bien compris ce que tu veux alors un simple ORDER BY suffit :
$req_archives = mysql_query ("SELECT net_a_payer,date FROM facture WHERE etat='".$etat_réglée."' ORDER BY date ASC")or die ('Erreur SQL ! '.$req_archives. mysql_error());
Etant donnés que tu récupère que les factures payés dans ta requête sql, il ne te reste plus qu'à afficher par ordre croissant 'ASC' ou décroissant 'DESC'
______________________________________________________________________
Gr3g69
Messages postés27Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention13 février 2010 6 févr. 2010 à 17:13
Bonjour,
Je ne sais pas si j'ai bien compris non plus, si tu ne veux afficher que les lignes qui contiennent une date dans $donnees_archives['date'] un simple if fait l'affaire. Après tu peux optimiser en fonction de ce que tu affiche réellement sur ta page. Je pense que tu as simplifié pour l'exemple.
<?php
while ($donnees_archives = mysql_fetch_assoc($req_archives))
{
if (!empty($donnees_archives['date'])) {
echo $donnees_archives['date'].'
';
}
}
?>