Pb dans une condition d'un requête, PHP/mysql

Résolu
amine_marc Messages postés 286 Statut Membre -  
amine_marc Messages postés 286 Statut Membre -
Bonjour,
j'ai un tableau (absenter) qui contient un champs (tot_hr_abs) représentant le nombre d'heurs d'absence d'élèves de mon application pour chaque jour:
absenter(#code_elv,#id_jour,date_abs,tot_hr_abs)

je veux sélectionner la somme des champs "tot_hr_abs" du tableau absenter dans un mois donné;
j'ai essayé avec le code suivant mais, il n'a rien donné:

<?php
//......
$dte_absS=" -".$mois."-".$annee;
$rqT=mysql_query("SELECT SUM(tot_hr_abs) FROM absenter WHERE code_elv='$id_elv' AND date_abs='$dte_absS'");

$tot_hr_absT_S=mysql_fetch_array($rqT);
$tot_h_absS=$tot_hr_absT_S[0];

echo $tot_h_absS;
?>
Veuillez me dire comment résoudre ce pb, et merci d'avance.

9 réponses

  1. Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   127
     
    Le format de vos dates sont ils les même?
    0
  2. amine_marc Messages postés 286 Statut Membre 2
     
    oui, ils ont le même format: ??-??-????
    0
  3. Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   127
     
    Un echo de $dte_absS donne bien le meme format?
    Le clcul $dte_absS=" -".$mois."-".$annee; fonctionne bien? il retourne bien le resultat attendu?
    0
  4. amine_marc Messages postés 286 Statut Membre 2
     
    nn, ça marche pas, j'ai essayé avec ce code;
    normalement j'ai besoin d'une truc qui représente tous les jours du mois, comme

    for($i=1;$i<31;$i++){
    $dte_absS=$i."-".$moi."-".$ann;}

    ¨_¨ mais dommage ça marche pas aussi.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   127
     
    Bon, le probleme est identidié. C'est votre date.
    Regardez de ce coté: http://www.phptools4u.com/scripts/calendrier/exemples.php
    En intégrant un calendrier a votre page php, vous n'aurez plus ce problème.
    0
  7. amine_marc Messages postés 286 Statut Membre 2
     
    merci bcp pour ton aide;
    j'ai intégré le calendrier, mais rien n'est changé
    0
  8. Super_carotte Messages postés 185 Date d'inscription   Statut Membre Dernière intervention   127
     
    fait un echo de toutes tes variables et donne me les stp.
    Avec la derniere maj de ton code.
    0
  9. amine_marc Messages postés 286 Statut Membre 2
     
    voici le code:
    <?php
    ///....
    $id_elv=$_GET['id_elv'];
    $moisJu="06";
    $annee_crtJu=decis_annee($moisJu);

    $dte_absS=" -".$moisJu."-".$annee_crtJu;

    $rqT=mysql_query("SELECT SUM(tot_hr_abs) FROM absenter WHERE code_elv='$id_elv' AND date_abs='$dte_absS'");

    $tot_hr_absT_S=mysql_fetch_array($rqT);
    $tot_h_absS=$tot_hr_absT_S[0];

    if($tot_h_absS=="") { $tot_h_absS="?"; }

    echo "annee_crtJu: ".$annee_crtJu."<br>";
    echo "date_absS: ".$dte_absS."<br>";
    echo "rqT: ".$rqT."<br>";
    echo "tot_hr_absT_S: ".$tot_hr_absT_S."<br>";
    echo "tot_h_absS: ".$tot_h_absS;

    mysql_close();
    ?>

    et voici le résultat:

    annee_crtJu: 2011
    date_absS: -06-2011
    rqT: Resource id #6
    tot_hr_absT_S: Array
    tot_h_absS ?
    0
  10. amine_marc Messages postés 286 Statut Membre 2
     
    j'ai trouvé la solution, voilà:

    <?php
    ///....
    $id_elv=$_GET['id_elv'];
    $moisJu="06";
    $annee_crtJu=decis_annee($moisJu);

    $tab=array();

    for($i=1;$i<=30;$i++){
    $dte_absS=$i."-".$moisJu."-".$annee_crtJu;


    $rqT=mysql_query("SELECT SUM(tot_hr_abs) FROM absenter WHERE code_elv='$id_elv' AND date_abs='$dte_absS'");

    $tot_hr_absT_S=mysql_fetch_array($rqT);
    $tot_h_absS=$tot_hr_absT_S[0];

    if($tot_h_absS=="") { $tot_h_absS="?"; }
    else { $tab[$i-1]=$tot_h_absS;}

    }

    $somm=0;
    foreach($tab as $val)
    {
    $somm+=$val;
    }
    echo $somm;


    mysql_close();
    ?>

    et merci bcp Super_carotte.
    0