update d'un champ date

Eléphanteau du PHP | 30 Messages

20 oct. 2006, 11:02

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 ]

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

20 oct. 2006, 11:17

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.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 oct. 2006, 12:43

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 :)

Invité
Invité n'ayant pas de compte PHPfrance

20 oct. 2006, 13:27

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 !

Eléphanteau du PHP | 30 Messages

20 oct. 2006, 13:28

c'est donc pour cela que ça coinçait et point du tout à cause du champ Date... soulagement ! :wink: