décalage de dates de bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : décalage de dates de bdd

Re: décalage de dates de bdd

par piotrowski-s » 09 mai 2012, 16:42

j'ai résolu une partie du problème en mettant cela: "<?php $jours = date('d-m-Y',strtotime($row['date_action'])) ; echo $get_date($jours) ; ?>
donc pour l'heure cela fonctionne presque. Le dernier soucis c'est avec ma fonction, en positif cela fonctionne bien, mais lorsque je mets en négatif (via l'option moins de ma fonction, il me met cela:
( ! ) Fatal error: Uncaught exception 'Exception' with message 'DateInterval::__construct() [dateinterval.--construct]: Unknown or bad format (P-52D)' in C:\wamp\www\NEOGETCASH\GESTIONNAIRE\edit_scenario.php on line 256
( ! ) Exception: DateInterval::__construct() [dateinterval.--construct]: Unknown or bad format (P-52D) in C:\wamp\www\NEOGETCASH\GESTIONNAIRE\edit_scenario.php on line 256
du coup je ne sais pas ce qu'il y a . d'avance merci.

Re: décalage de dates de bdd

par piotrowski-s » 09 mai 2012, 15:32

oui en effet, mais même en l'appelant, j'ai un soucis:

la elle est rajoutée, mais elle me fait n'importe quoi dans ma base de donnée, les dates sont 2012, et lui il met 2017. je ne sais pas pourquoi de plus les mois et les jours qui apparaissent ne correspondent pas à ceux qui sont enregistrés.

Re: décalage de dates de bdd

par xTG » 09 mai 2012, 15:01

Tu ne l'appelles jamais ta fonction.

décalage de dates de bdd

par piotrowski-s » 09 mai 2012, 14:49

Bonjour à tous, je récupères des données de ma base de données et grâce à un formulaire je peux décaler (en positif et ou négatif) les dates,

j'ai donc ce script.

La date qui a vocation à être modifiée est à la ligne 38
<?php if (isset($_GET['liasse']) AND $_GET['liasse']=='liasse_a') { ?>
<?php
 
$sql = "SELECT * FROM liasse_a where n_doss='".mysql_real_escape_string($_GET['n_doss'])."'";
$qry = mysql_query($sql) or die(__LINE__.mysql_error().$sql);
 
$get_date = function($data_jours) {
   $today = new DateTime();
   $today->setTime(0, 0);
   $jours = (isset($_POST['jours']) && ctype_digit($_POST['jours'])) ? $_POST['jours'] : 0;
   if (isset($_POST['submit']) && ($_POST['submit'] === 'moins')) {
      $jours = -$jours;
   }
   $nb       = $data_jours + $jours;
   $func     = ($nb < 0) ? 'sub' : 'add';
   $interval = new DateInterval("P{$nb}D");
   return $today->$func($interval)->format('d-m-Y');
};
$i = -1; // index des enregistrements
?>
<table cellpadding="5" cellspacing="5">
   <tr>
      <td><strong>CODE SCENARIO</strong></td>
      <td><strong>LIBELLE</strong></td>
      <td><strong>ACTION</strong></td>
      <td><strong>DESCRIPTION</strong></td>
      <td><strong>DATE</strong></td>
   </tr>
   <form action="<?php echo (isset($_POST['go'])) ? 'go2.php' : '#'; ?>" method="post">
      <input type="hidden" name="liasse" value="<?php echo $_GET['liasse']; ?>"/>
      <input type="hidden" name="n_doss" value="<?php echo $_GET['n_doss']; ?>"/>
      <?php while($row = mysql_fetch_assoc($qry)): ?>
      <tr>
         <td><input name="data[<?php echo ++$i; ?>][code_s]" type="text" value="<?php echo $row['code_s'];?>" size="10"></td>
         <td><input name="data[<?php echo $i; ?>][libelle]" type="text" value="<?php echo $row['libelle']; ?>" size="45"></td>
         <td><input name="data[<?php echo $i; ?>][action]" type="text" value="<?php echo $row['action']; ?>" size="15"></td>
         <td><input name="data[<?php echo $i; ?>][libelle]" type="text" value="<?php echo $row['description']; ?>" size="55"></td>
         <td><input type="text" name="data[<?php echo $i; ?>][date]" value="<?php $jours = $row['date_action']  ; echo $jours ; ?>" size="12"></td>
      </tr>
      <?php endwhile; ?>
      <p>
         <strong>Décalage des date </strong>
         <table width="150" border="0" cellspacing="0" cellpadding="0">
            <tr>
               <td align="center" bgcolor="#FFFF99">
                  <input type="image" src="images/minus_remove_green.png" width="22" height="22" name="submit"  value="moins" />
                  <input name="jours" type="text" value="" size="5" />
                  <input type="image" src="images/plus_add_green.png" width="22" height="22" name="submit" value="plus" />
Le soucis c'est qu'il ne fait rien, je ne comprends pas, la structure me semble correcte. Quelqu'un pourrait il m'apporter ses lumières?

D'avance merci.