Insert en BDD par boite a cocher
Posté : 04 nov. 2013, 22:43
Bonsoir ,
Voile je vous expose mon souci : J'ai fais pour mon travail un système pour la gestion des prêts matériels , a chaque sortie de matériel je saisie celle-ci .
1) Lorsque que le matériel est rentrer je dois saisir le retour de celui-ci , jusque ici tout fonctionne bien.
2) J'ai ajouté la possibilité par une boite a cocher de sélectionner le retour du matériel afin de gagner du temps dans la saisie cela fonctionne.
3) Afin d'avoir une archive des sorties pour cela j'ai créé une table supplémentaire , donc lorsque je coche pour retour du matériel l'action doit être :
- Il passe le matériel en état 0 = Disponible
- Il archive dans la table " Archive_sortie " le matériel en insérant la date de sortie - Nom du responsable - Chantier - Désignation du Matériel - la référence - Date de retour .
Voici le reste de mon code qui réalise les actions :
Merci pour votre aide
Voile je vous expose mon souci : J'ai fais pour mon travail un système pour la gestion des prêts matériels , a chaque sortie de matériel je saisie celle-ci .
1) Lorsque que le matériel est rentrer je dois saisir le retour de celui-ci , jusque ici tout fonctionne bien.
2) J'ai ajouté la possibilité par une boite a cocher de sélectionner le retour du matériel afin de gagner du temps dans la saisie cela fonctionne.
3) Afin d'avoir une archive des sorties pour cela j'ai créé une table supplémentaire , donc lorsque je coche pour retour du matériel l'action doit être :
- Il passe le matériel en état 0 = Disponible
- Il archive dans la table " Archive_sortie " le matériel en insérant la date de sortie - Nom du responsable - Chantier - Désignation du Matériel - la référence - Date de retour .
$insertSql= "INSERT INTO Archive_sortie VALUES('',now(),'$designation','$reference','$date_sortie','$nom_retrait','$chantier','$date_retour')";
$result2=mysql_query($insertSql);
Le problème que je rencontre c'est qu'il archive pas toujours , par moment sa plante sans erreur , il passe bien l'état du matériel en " 0 " mais il n'archive pas celui-ci .Voici le reste de mon code qui réalise les actions :
<?php echo '<td width="1%"><input type="checkbox" name="check[]" id="roundedTwo" value="'. $datas['id'].' "/>
</td> ';?>
<?php
echo '</tr>';
}
echo '</tbody>';
echo '<tfoot><tr><th colspan="10"> </th></tr></tfoot>';
echo '</table>';
echo '<table><tr><td><input name="Update" value="Valider les Retours Matériels" type="submit" /></form></td></tr></table>';
mysql_free_result($req);
// ENREGISTREMENT ARCHIVE //
//parcours du array des ids reçus
if (isset($_POST['Update'])) {
$id = implode(',', $_POST['check']); // On cherche les boites cocher //
//var_dump($_POST['check']); // test //
foreach($_POST['check'] as $val) {
$list_retour = mysql_query("SELECT id,designation,reference,date_sortie,nom_retrait,chantier FROM materiels3 WHERE id='$val' LIMIT 1");
$materiel_retour = mysql_fetch_array($list_retour);
// VARIABLES //
$designation = $materiel_retour[1];
$reference = $materiel_retour[2];
$date_sortie = $materiel_retour[3];
$nom_retrait = $materiel_retour[4];
$chantier = $materiel_retour[5];
$date_retour = date('Y/m/d') ; // date du jour du retour Matériel //
$insertSql= "INSERT INTO Archive_sortie VALUES('',now(),'$designation','$reference','$date_sortie','$nom_retrait','$chantier','$date_retour')";
$result2=mysql_query($insertSql);
} // ferme foreach //
} // condition //
if (isset($_POST['Update'])) {
$id = implode(',', $_POST['check']);
$sql = "UPDATE materiels3 SET disponibilite='',chantier='',nom_retrait='',date_sortie='' WHERE id IN (".$id.")";
$result=mysql_query($sql);
//en cas d'échec de la mise à jour, on affiche le message d'erreur
if (!$result) {
echo "erreur sql liée à la mise à jour:\n" ;
die( mysql_error());
}
}
mysql_close(); // FERME LA BDD //
Merci pour votre aide