Probleme liste déroulante+php

pandouta08 Messages postés 89 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 14 février 2011 - 5 mai 2009 à 01:02
pandouta08 Messages postés 89 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 14 février 2011 - 5 mai 2009 à 18:49
bonsoir,
s'il vous plait pourriez vous m'aider à propos ça?
j'ai un formulaire qui contient une liste déroulante qui contient les noms des utilisateurs à partir de table utilisateur dans la base de donnée mysql.
mon probléme consiste à:
l'insertion se fait correctement dans la base de donnée sauf que l'id_user n'est pris en compte il insére toujours dans le champs id_user "0" alors que j'ai choisie un utilisateur  lors de l'insertion des donnée à partir de formulaire .Ainsi lors de l'envoi des données par le bouton "enregistrer" on remarque l'affichage de celles ci  n'est pas pris en compte dans l'interface .
voici le code :
       
        <html><head><style type= "text/css">
        *{
            margin: 0px;
            padding: 0px;
            font-family: Verdana, Arial, Helvetica, sans-serif;
            font-size: 11px;
        }
        body{
           
        }
        a{
            text-decoration: none;
            color: #200;
        }
        ul, li{
            list-style: none;
        }
        .mon_onglet{
            float: left;
            padding: 2px 10px;
            margin-right: 5px;
            color: #FFFFFF;
            background: #000066;
            border: 1px solid ##0066FF;
            cursor: pointer;
            margin-bottom: -1px;
        } 
        .mon_onglet:hover{
            background: #0066FF;
        }    
        .mon_onglet_selected{
            float: left;
            padding: 2px 10px;
            margin-right: 5px;
            color: #FFFFFF;
            background: #0066FF;
            border-top: 1px solid #68ce3e;
            border-right: 1px solid #0066FF;
            border-left: 1px solid ##0066FF; 
            border-bottom: 1px solid ##0066FF; 
            cursor: pointer; 
            margin-bottom: -1px;
        }     
        .clear{
            clear: both;
        }
        .mon_contenu{
            color: #000000;
            background: #a3t222;
            border: 2px solid #0099FF;
            padding: 10px;    
        }
        #mes_contenus, #mes_onglets{
            width: 900px;
        }
        </style>
        <script language="javascript">
        function changeOnglet(_this){
            var getOnglets  = document.getElementById('mes_onglets').getElementsByTagName('li');
            for(var i = 0; i < getOnglets.length; i++){
                if(getOnglets[i].id){
                    if(getOnglets[i].id == _this.id){
                        getOnglets[i].className = 'mon_onglet_selected';
                        document.getElementById('c' + _this.id).style.display    = 'block';
                    }
                    else{
                        getOnglets[i].className = 'mon_onglet';
                        document.getElementById('c' + getOnglets[i].id).style.display  = 'none';
                    }
                }
            }   
        }
        </script></head></html>
        <?php
       $host = "localhost";
       $user = "root";
       $bdd = "dotproject";
       $passwd  = "";
       
        mysql_connect($host,$user,$passwd) or die("Connexion impossible");
       
        mysql_select_db($bdd) or die("Echec de selection de la base");
        ?>
       
        <style type="text/css">
        <!--
        .Style1 {font-weight: bold}
        .Style3 {color: #FFFFFF}
        -->
        </style>
       
        <?php
   $date=$_POST['date'];
   $evnt=$_POST['evnt'];
   $time=$_POST['time'];
   $id=$_POST['a'];  
   if(isset($a) && isset($date) && isset($time)){
       if($evnt==entree){
        mysql_query("INSERT INTO `presence` ( `date` , `entree` , `sortie` , `id_user` )
VALUES (
'$date', '$time', '00:00:00', '$id'
)");             }
    elseif($evnt==sortie){
     //mysql_query("insert into presence (`date` , `entree` , `sortie` , `id_user`)values('$date','00:00:00','$time','$id')");     mysql_query("UPDATE `presence` SET `sortie` '$time' WHERE `date` '$date' AND `id_user` ='$id'") ;
    }
    }
   
       $display_1='display:block';
    $display_2='display:none';
    $display_3='display:none';
    
  switch($_POST["display"]){
      case 1 :$display_1='display:block';
           $display_2='display:none';
      $display_3='display:none';
     break;
   
   case 2 :$display_1='display:none';
           $display_2='display:block';
      $display_3='display:none';
     break;
     
   case 3 :$display_1='display:none';
           $display_2='display:none';
     $display_3='display:block';
     break;
   
   }
  /*$q="select id_user from utilisateur";
  $r= mysql_query($q);?><SELECT name="id"><? while($val = mysql_fetch_array($r)) { ?>
  <OPTION value="id" ><? echo $val["id"]; ?></OPTION>
  <? } ?>
 </SELECT>*/
  $today = date("Y-m-d");
       
        //jour precedent
        if($_POST["plus_1"]=='1'){
            $today = $_POST["today"];
            $today = strftime("%Y-%m-%d",strtotime($today)-1*24*3600);
        }
       
        //jour suivant
        if($_POST["plus_1"]=='2'){
            $today = $_POST["today"];
            $today = strftime("%Y-%m-%d",strtotime($today)+1*24*3600);
        }
       
        //semaine precedente
        if($_POST["plus_7"]=='1'){
            $today = $_POST["today"];
            $today = strftime("%Y-%m-%d",strtotime($today)-7*24*3600);
  }
       
        //semaine suivante
        if($_POST["plus_7"]=='2'){
            $today = $_POST["today"];
            $today = strftime("%Y-%m-%d",strtotime($today)+7*24*3600);
        }
       
        //mois precedent
        if($_POST["mois"]=='1'){
             $today = $_POST["today"];
            $today = strftime("%Y-%m-%d",strtotime($today)-30*24*3600);
        }
       
        //mois suivant
        if($_POST["mois"]=='2'){
             $today = $_POST["today"];
            $today = strftime("%Y-%m-%d",strtotime($today)+30*24*3600);
        }
        $date = strftime("%m",strtotime($today));
        $mois_en_cours = "$date";// mois a partir de $today;
  if($mois_en_cours==1)$moisstr='janvier';
        if($mois_en_cours==2)$moisstr='fevrier';
        if($mois_en_cours==3)$moisstr='mars';
        if($mois_en_cours==4)$moisstr='avril';
        if($mois_en_cours==5)$moisstr='mai';
        if($mois_en_cours==6)$moisstr='juin';
        if($mois_en_cours==7)$moisstr='juillet';
        if($mois_en_cours==8)$moisstr='aout';
        if($mois_en_cours==9)$moisstr='septembre';
        if($mois_en_cours==10)$moisstr='octobre';
        if($mois_en_cours==11)$moisstr='novembre';
        if($mois_en_cours==12)$moisstr='decembre';
        $annnee_en_cours=date(Y);
        $jour=date(d);
  
       ?>
        <style type="text/css">
        <!--
        .Style1 {
            color: #FFFFFF;
            font-weight: bold;
        }
.Style4 {
 font-size: 16px;
 color: #000066;
}
        -->
        </style>
       

       
        &nbsp;&nbsp;Pointage

  <form name ="saisie" method="post" action="">
                ----
Identifiant:, <?php $q = "select* from utilisateur order by id_user";
  $r = mysql_query($q); ?><SELECT name="a"><? while($val = mysql_fetch_array($r)) { ?>
  <OPTION value="<?php $val["id_user"] ?>" > <? echo $val["nom"]; ?></OPTION>
  <? } ?>
 </SELECT>,
        
         ----
Evenement:, entree sortie, "/>,
        ----
Date:, "/>,
        ----
&nbsp;, <td>
       

        </form>
       

       
       

           
                <li class="mon_onglet Style3" id="o_1" onclick="changeOnglet(this);">Par jour</li>
                <li class="mon_onglet Style3" id="o_2" onclick="changeOnglet(this);">Par semaine</li>
                <li class="mon_onglet Style3" id="o_3" onclick="changeOnglet(this);">Par mois</li>
               
               

         
       

       
       

        <form name="form" method="post" action="" id="form_">
         
           
" >
           
           
             
             
               On est le: <? echo $today; ?> 
              " />
              >"
              onclick="document.getElementById('plus_1').value = '2';
              document.getElementById('form_').submit();"/>

             
           
                      ----

             Identifiant,
             Utilisateur,
             Date,
             Entr&eacute;e/sortie,
             Nombre d'heures,
             Total,
         
         
            <?php
   $query = \"select* from utilisateur order by id_user\";
            $resultat = mysql_query($query);          
              while ($row = mysql_fetch_array($resultat)) {
                 $Total=0;
                 echo '----
';
                 echo ''.$row['id_user'].', ';
                 echo ''.$row['nom'].', ';
                 echo '&nbsp;';
                
                 $query1 = "select * from presence where date='$today' and id_user=".$row['id_user'];
                 $result1 = mysql_query($query1) or die( mysql_error());
                     while ($row1 = mysql_fetch_array($result1)) {
                     echo $row1['date'].'
';
                     }
                 echo ", \";
                 echo '&nbsp;';
                
                 //affichage de entree et sortie
                $result1 = mysql_query($query1) or die( mysql_error());
                     while ($row1 = mysql_fetch_array($result1)) {
                     echo $row1['entree'].' '.$row1['sortie'].'
';
                     }
                 echo ", \";
                 echo '&nbsp;';
                
                 //affichage de nombre d'heures et total
                 $result1 = mysql_query($query1) or die( mysql_error());
                 $total = 0;
                     while ($row1 = mysql_fetch_array($result1)) {
                     $diff=abs(strtotime($row1['sortie'])-strtotime($row1['entree']));
                     $h=(int)($diff/3600);
                     $m=($diff/60)%60;
                     $s=$diff%60;
                     $duree=$h.":".$m.":".$s;
                     echo $duree.'
'; 
                       
                     $total+=$diff;
                     $ht=(int)($total/3600);
                     $mt=($total/60)%60;
                     $st=$total%60;
                     $Total=$ht.":".$mt.":".$st;
                     }
                 echo ', ';
                 echo''.$Total.', ';
          }
          ?>
       

        </form>
       
       
        <form name="form1" method="post" action="" id="form_1">
         


          
">
          
          
          
             
              On est dans la semaine du : <? echo $today; ?> 
              " />
              >"
              onclick="document.getElementById('plus_7').value = '2';
              document.getElementById('form_1').submit();"/>

             
           
                        ----

            Identifiant,
            Utilisateur,
            Date,
            Entr&eacute;e/sortie,
            Nombre d'heures,
            Total,  
           
           
            <?php 
   $resultat = mysql_query($query);         
              while ($row = mysql_fetch_array($resultat)) {
              $Total=0;
                 echo '----
';
                 echo ''.$row['id_user'].', ';
                 echo ''.$row['nom'].', ';
                 echo '&nbsp';
                
                 //affichage de la date                 $query2 "select * from presence where  WEEK(date, 3) DATE_FORMAT('$today', '%u') AND YEAR('$today')=YEAR(date) AND id_user=".$row['id_user']; 
     $result2 = mysql_query($query2) or die( mysql_error());
                     while ($row2 = mysql_fetch_array($result2)) {
                       echo $row2['date'].'
';
                     }
                 echo ", \";
                 echo '&nbsp;';
                
                 //affichage de entree et sortie
                 $result2 = mysql_query($query2) or die( mysql_error());
                     while ($row2 = mysql_fetch_array($result2)) {
                       echo $row2['entree'].' '.$row2['sortie'].'
';
                     }
                 echo ", \";
                 echo '&nbsp;';
                
                 //affichage de nombre d'heures et total
                 $result2 = mysql_query($query2) or die( mysql_error());
                 $total = 0;
                     while ($row2 = mysql_fetch_array($result2)) {
                        $diff=abs(strtotime($row2['sortie'])-strtotime($row2['entree']));
                        $h=(int)($diff/3600);
                        $m=($diff/60)%60;
                        $s=$diff%60;
                        $duree=$h.":".$m.":".$s;
                        echo $duree.'
'; 
                       
                        $total+=$diff;
                        $ht=(int)($total/3600);
                        $mt=($total/60)%60;
                        $st=$total%60;
                        $Total=$ht.":".$mt.":".$st;
                     }
                 echo ', ';
                 echo''.$Total.', ';
          }
          ?>
           
         


           </form>
        
        
        <form name="form2" method="post" action="" id="form_2">
           
           


           
">
           
          
            
            
              
              On est dans le mois : <? echo $moisstr.' '.$annnee_en_cours; ?> 
     " />
              " />
              >"
              onclick="document.getElementById('mois').value = '2';
              document.getElementById('form_2').submit();"/>

           
                        ----

            Identifiant,
            Utilisateur,
            Date,
            Entr&eacute;e/sortie,
            Nombre d'heures,
            Total,  
         
            <?php 
   $resultat = mysql_query($query);         
              while ($row = mysql_fetch_array($resultat)) {
              $Total=0;
              echo '----
';
              echo ''.$row['id_user'].', ';
              echo ''.$row['nom'].', ';
              echo '&nbsp;';
             
              //affichage de la date              $query3 "select * from presence where MONTH(date) DATE_FORMAT('$today', '%m') AND YEAR('$today')=YEAR(date) and id_user=".$row['id_user'];
              $result3 = mysql_query($query3) or die( mysql_error());
              while ($row3 = mysql_fetch_array($result3)) {
              echo $row3['date'].'
';
              }
              echo ", \";
              echo '&nbsp;';
             
           
              //affichage de entree et sorite
            
              $result3 = mysql_query($query3) or die( mysql_error());
             
              while ($row3 = mysql_fetch_array($result3)) {
              echo $row3['entree'].' '.$row3['sortie'].'
';
                }
                echo ", \";
                echo '&nbsp;';
               
                //affichage de nombre d'heures et total
                $result3 = mysql_query($query3) or die( mysql_error());
                $total = 0;
                while ($row3 = mysql_fetch_array($result3)) {
                    $diff=abs(strtotime($row3['sortie'])-strtotime($row3['entree']));
                    $h=(int)($diff/3600);
                    $m=($diff/60)%60;
                    $s=$diff%60;
                    $duree=$h.":".$m.":".$s;
                    echo $duree.'
'; 
                        
                    $total+=$diff;
                    $ht=(int)($total/3600);
                    $mt=($total/60)%60;
                    $st=$total%60;
                    $Total=$ht.":".$mt.":".$st;
                }
                echo ', ';
                echo''.$Total.', ';
          }
        ?>
       
       

</form>
       


merci d'avance.

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
5 mai 2009 à 08:15
Salut,

Je n'ai parcouru que brièvement :
Déjà remplace tous les "<?" par "<?php"

et puis :
<OPTION value="<?php $val["id_user"] ?>" >
=>
<option value="<?php echo $val["id_user"] ?>" >

Cordialement,

Kohntark -
0
pandouta08 Messages postés 89 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 14 février 2011
5 mai 2009 à 16:59
merci beaucoup pour ton aide.
0
pandouta08 Messages postés 89 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 14 février 2011
5 mai 2009 à 18:49
bonjour,
j'ai une table mysql presence(id_user,date,entree,sortie) que je remlie a partir d'un formulaire j'affiche le contenu sur une page php une fois l'utilisateur a pointé une entrée il doit  pointer nécessairement une sortie c'est à dire après chaque entrée il y'a une sortie(pas de plusieurs entrées successive sans sortie).
Voici le code d'indertion à partir du formulaire :
<?php 
   $date=$_POST['date'];
   $evnt=$_POST['evnt'];
   $time=$_POST['time'];
   $id=$_POST['a'];  
   if(isset($id) && isset($date) && isset($time)){  
          if($evnt==entree){
        mysql_query("INSERT INTO `presence` ( `date` , `entree` , `sortie` , `id_user` )
VALUES (
'$date', '$time', '00:00:00', '$id'
)");
           } 
    elseif($evnt==sortie){
     //mysql_query("insert into presence (`date` , `entree` , `sortie` , `id_user`)values('$date','00:00:00','$time','$id')");     mysql_query("UPDATE `presence` SET `sortie` '$time' WHERE `date` '$date' AND `id_user` ='$id' AND sortie='00:00:00'") ;
    }
    }
  ?>
merci d'avance
0
Rejoignez-nous