Page 1 sur 1

update d'un champ date

Posté : 20 oct. 2006, 11:02
par Overseas
Bonjour, ça parait étonnant, mais je bloque sur l'update d'un champ date !
contexte : un table se génère automatiquement et je peux revenir manuellement sur les enregistrements pour y fixer une date de règlement et un numéro de chèque.

Note : le champ date est en datetime, d'où le 00:00:00

Dans mon code, j'ai donc :
// Modification effective du Panier sélectionné (date de règlement et numéro du chèque)
if ($alter_flag == 1) {
     if ($chq_day < 10) {         $chq_day = "0".$chq_day  ;         }
     if ($chq_month < 10) {         $chq_month = "0".$chq_month  ;         }
     $datechain = $chq_year."-".$chq_month."-".$chq_day." 00:00:00"  ;
     $regl_date = date("Y-m-d H:i:s", strtotime($datechain))  ;
     $numchq = addslashes($numchq)  ;

     echo "<H2>DateChain = ".$datechain." - N° du chèque : ".$numchq." Panier n°.<B>".$panierconfirmed."</B><BR>"  ;

     $alterecord = mysql_query("update cde_panier set reglement_pa = '$regl_date', cheque_pa = '$numchq' where panier_pa = $panierconfirmed") ;
}
Et quand je procède à une modif, ça donne par exemple :
DateChain = 2006-09-20 00:00:00 - N° du chèque : 8888 Panier n°.187

Or l'actualisation de la table ne se fait jamais !
J'ai bien entendu essayé en gardant $datechain plutôt que $regl_date

Une idée ?

Modération : j'ai juste mis les balises BBCode [ php ] plutôt que [ code ]

Posté : 20 oct. 2006, 11:17
par mere-teresa
echo de ta requête, tu fais tourner le script et tu copies-colles la requête dans PHPMyAdmin (ou Eskuel ou MySQL Query Browser) pour avoir le message d'erreur de MySQL.

Posté : 20 oct. 2006, 12:43
par Ryle
Tu peux aussi mettre un "or die" après le query pour vérifier s'il n'y a pas eu d'erreur sql :
mysql_query(...) or die (mysql_error());
Mais ceci dit, c'est une bonne habitude d'afficher la requête sql générée comme te le conseil mere-teresa (et pas juste les valeurs) pour la contrôler réellement et pouvoir la tester en dehors de ton appli :)

Posté : 20 oct. 2006, 13:27
par Invité
tu copies-colles la requête dans PHPMyAdmin
Excellente idée !
C'est grâce à cela que je me suis aperçu que je m'étais trompé de champs après la clause WHERE (le champs existe, mais... dans une autre table !).

Un grand merci pour cette contribution !

Posté : 20 oct. 2006, 13:28
par Overseas
c'est donc pour cela que ça coinçait et point du tout à cause du champ Date... soulagement ! :wink: