IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

relevé de compte crédit/débit [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut relevé de compte crédit/débit
    Bonjour,

    Un petit problème de mise en page ou de base de données.
    J'ai un champ intitulé "montant" dans une table "opération". Ce montant est lié à une opération journalière, exemple : 20/02/2006 Achat materiel info. 150€

    Le problème consiste à séparer les montant de type crédit ( positif ) et les montants de type débit ( négatif donc ).
    Mais j'aimerai récupérer ma variable contenant le montant et lui donner les conditions pour que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    si montant >= 0, alors le placer dans colonne crédit
    si montant < 0, dans débit
    bien entendu, je possède une requete $req="SELECT montant FROM operation where num_compte='.....'"

    $l=mysql_fetch_object($req)

    $l->montant j'aimerai donc le séparer en deux parties. Je n'y arrive pas

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Par défaut
    Perso, je pense q'il faut que tu le fasse au moment de la construction de ton tableau de résultat

    Tu fais un truc genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <table>
    <tr>
    <td>Operation</td>
    <td>Credit</td>
    <td>Debit</td>
    </tr>
    <?
    while($l = mysql_fetch_assoc($req))
    {
    if($l["montant"] >= 0) { ?>
    <tr>
    <td><?php echo $l["operation"] ?></td>
    <td><?php echo $l["montant"] ?></td>
    <td></td>
    </tr>
    <?
    } else { ?>
    <tr>
    <td><?php echo $l["operation"] ?></td>
     <td></td>
     <td><?php echo $l["montant"] ?></td>
    </tr>
    <?
    } 
    } ?>
    </table>
    Bon, y'a surement moyen de simplifier...

  3. #3
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    le probleme est que je ne peux pas faire de comapraison entre $l->montant qui est une chaine de caractere ( lue dans BDD ) et un entier comme le 0

    $->montant >= 0 renvoie donc une erreur

    en fait $l->montant renvoie soit une donnée de type "300" ou "-300". les "" pour symbolyser la chaine.

  4. #4
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    Désolé je n'avais pas vu le mysql_fetch assoc !

    Y'a du mieux merci ^^
    mais le probleme c'est que plus rien ne s'affiche sauf les signes € dans les bonnes cases.

    Mais quand je dis plus rien, la date, le libelle et les montants ne s'affichent pas

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Par défaut
    Tu peux pas faire
    $nombre=(double) $montant;
    Ca le tranformera en nombre avant la comparaison.

    Sinon tu fais un substr($l->montant,0,1) et tu vois si c'est un - ou pas.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Par défaut
    Tu peux poster ton code pour voir ce qui ne va pas ?

  7. #7
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    $sql2="SELECT DATE_FORMAT( datee, '%d-%m-%Y' ) as dateop , libelle, montant FROM operation WHERE num_compte ='".$log."'";
    $req2=mysql_query($sql2);
    while ($l2=mysql_fetch_assoc($req2))
    {
    	if ($l2["montant"]>=0)
                {
                 echo'
    	<TR>
    	<TD background="images/date.jpg" width="113" align="center"><b>'.$l2->dateop.'</b></TD>
    	<TD background="images/libelle.jpg" width="330">&nbsp;<b>'.$l2->libelle.'</b></TD>
    	<TD background="images/debit.jpg" width="151" align="center"><b></b></TD>					<TD background="images/credit.jpg" width="151" align="center"><b>'.$l2->montant .' €</b></TD>
    	</TR>';
    	}
                 else
                {
    	if ($l2["montant"]<0)
                {
    	echo'
                 <TR>
                     <TD background="images/date.jpg" width="113" align="center"><b>'.$l2->dateop.'</b></TD>					   <TD background="images/libelle.jpg" width="330">&nbsp;<b>'.$l2->libelle.'</b></TD>		
                     <TD background="images/debit.jpg" width="151" align="center"><b>'.$l2->montant .' €</b></TD>
    	     <TD background="images/credit.jpg" width="151" align="center"><b></b></TD>
    	</TR>';								    }
           }
    }

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Par défaut
    Avec mysql_fetch_assoc tu dois mettre

    $l2["montant"] et non pas $l2->montant

    donc remplace $l2->monchamp par $l2["monchamp"]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PayPal] Compte crédité mais le résultat est "INVALID"
    Par spidernet dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 06/04/2011, 11h56
  2. [XL-2003] crédit débit solde
    Par pintau dans le forum Excel
    Réponses: 3
    Dernier message: 07/05/2009, 11h40
  3. relevé de compte banquaire
    Par chouchouboy dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 11/11/2007, 15h49
  4. [État] Relevé de Compte. Comment faire ?
    Par nicou50 dans le forum IHM
    Réponses: 19
    Dernier message: 26/03/2007, 05h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo