Formulaire + table mysql

lsamsoumal Messages postés 36 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 27 octobre 2011 - 6 mai 2009 à 11:04
lsamsoumal Messages postés 36 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 27 octobre 2011 - 6 mai 2009 à 18:11
Bonjour tout le monde.
j'ai un formulaire a partir duquel je remplie une table sql nommée presence dans laquelle sont stockées les entrées/sorties des utilisateurs dont les id et noms sont stockés dans une table users.Après chaque entrée il faut y avoir une sortie avant d'effectuer une autre sortie mais mon pb c'est que un utilisateur peut enregistrer plusieures entrées successives sans avoir des sorties.

<form name="saisie" method="post" action="">
Identifiant:,
<?php $q = "select* from users order by user_id";
$r = mysql_query($q); ?>
<SELECT name="a"><? while($val = mysql_fetch_array($r)) { ?>
<OPTION value="<?php echo $val["user_id"] ?>" > <? echo $val["user_username"]; ?></OPTION>
<? } ?>
</SELECT>,

----
Evenement:, entree sortie,
----
Date:, " readonly="readonly"/>,
----
Heure:, " readonly="readonly"/>,
----
, <td>

</form>

$date=$_POST['date'];
$evnt=$_POST['evnt'];
$time=$_POST['time'];
$id=$_POST['a'];

if(isset($id) && isset($date) && isset($time)){
if($evnt==entree){
/*$q="select * from presence ";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)){
$e=$row['entree'];
if($e=='00:00:00'){*/
mysql_query("INSERT INTO `presence` ( `date` , `entree` , `user_id` )
VALUES ('$date', '$time', '$id')");
//}
// }
}
elseif($evnt==sortie){
mysql_query("UPDATE `presence` SET `sortie` '$time' WHERE `date` '$date' AND `user_id` ='$id'
AND sortie='00:00:00'");
}
}

Merci d'avance

3 réponses

jfperras Messages postés 69 Date d'inscription vendredi 13 septembre 2002 Statut Membre Dernière intervention 6 mai 2009
6 mai 2009 à 16:17
Lorsque tu fais l'insertion dans ta table pour l'entrée.  Assure-toi que le dernier enregistrement pour cette usager est une sortie (dans ton cas avoir une date et time de sortie)
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
6 mai 2009 à 16:32
salut

tu devrais aussi ajouter une contrainte d'integrité :

une simple contrainte d'unicité sur le couple user_id/sortie t'assurera qu'il ne sera pas possible d'avoir simultanément deux lignes avec le champs sortie a NULL pour un utilisateur donné
0
lsamsoumal Messages postés 36 Date d'inscription lundi 24 novembre 2008 Statut Membre Dernière intervention 27 octobre 2011
6 mai 2009 à 18:11
Merci pour votre interêt j'ai résolu le problème en fait ce qui est demandé et plus simple il suffit de laisser les champs de date modifiables
0
Rejoignez-nous