[PHP] Recuperer des valeurs = 0 apres un post [Resolu]

Recuperer des valeurs = 0 apres un post [Resolu] [PHP] - PHP - Programmation

Marsh Posté le 18-11-2004 à 12:22:34    

salut, voila mon souci :  
 
j'affiche un tableau contenant des volumes recuperes depuis une bdd.
 
ca se presente un peu comme ca :  
 
-------- | Janvier | Fev   | ...... | decembre  |
Volume1  |  valeur | valeur| ...... |  valeur   |
Volume2  |  valeur | valeur| ...... |  valeur   |
------------------------------------------------
 
sachant que mes cases valeurs sont TOUTES des input text.
 
certaines sont a 0 (car enregistrees comme telles dans la bdd), d'autres sont vides (non encore enregistrees) et les autres affichent la valeur trouvee.
 
cette page permet de modifier ces valeurs.
 
Le probleme c'est que quand je recupere les donnees contenues dans ces cases (pour comparer et updater la base) toutes les valeurs = 0 sont considerees comme "null".
 
C'est ennuyeux, surtout que si on veut inserer un volume ayant la valeur 0, il ne m'insere rien pluisqu'il interprete la valeur comme "null".
 
Quelqu'un aurait il une idee pour gerer ca ?
 
merci et salut a vous
flo


Message édité par fleuh le 18-11-2004 à 16:32:01
Reply

Marsh Posté le 18-11-2004 à 12:22:34   

Reply

Marsh Posté le 18-11-2004 à 12:25:41    

Welcome to the Wonderful World of PHP


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 18-11-2004 à 12:58:21    

Soit un peu plus précis.
 
- Base MySQL je suppose ?  
- Les champs contenant ces valeurs sont de quel type dans la bdd ?
- On peut pas voir ta requête d'insert, voire ton code entier ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 18-11-2004 à 13:12:31    

Salut,
et en testant la valeur avec l'operateur === (ou !==) ??

Reply

Marsh Posté le 18-11-2004 à 13:31:19    

- Base MySQL  
- type INT Non Null : j'ai testé avec Null oui, mais ca fait pareil, ca vient du code et pas de la base (test de la valeur avant de faire quoi que ce soit a la base)
- On peut pas voir ta requête d'insert, voire ton code entier ?
 
je pense vraiment que ca vient de la facon dont mes variables sont recuperees depuis ma page.
 
 
 
Illustration avec un exemple concret :  
 
Si dans  
 
-------- | Janvier | Fev   | ...... | decembre  |
   Q1    |   25    | valeur| ...... |  valeur   |
   Q2    |    0    | valeur| ...... |  valeur   |  
 
 
DEBUG || $tab_old_mois_q[0][0] : 25
DEBUG || $tab_new_mois_q[0][0] : 25
 
DEBUG || $tab_old_mois_q[0][1] : 0
DEBUG || $tab_new_mois_q[0][1] :      //c'est la que ca derape...  
 
bon, voila, la je dois dire que c'est un peu bizarre cette valeur 0 qui part en null  :pt1cable:  
 
En tout cas j'espere avoir été clair pour le code, sinon, demandez moi
 
Question : est ce que ca viendrait pas de ma facon de passer mon tableau sérialisé dans le input hidden ?   :??:  
 
 
 :hello:


Message édité par fleuh le 18-11-2004 à 13:58:58
Reply

Marsh Posté le 18-11-2004 à 14:03:02    


Si
$tab_old_mois_q[0][1] : 0 //objet serialisé
$tab_new_mois_q[0][1] :   //objet post
 
c'est que mes $Value sont null.
 

Code :
  1. foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value){
  2.            if($Key==$nom){
  3.              if($Value){
  4.              }else{
  5.                $utils->debug(1,"null",$nom); //affiche "DEBUG || null : "
  6.              }


 
qui me donne :  
DEBUG || null : 0-10
DEBUG || null : 0-11
...
 
alors que j'avais posté 0.
 
 :??:  
 

Reply

Marsh Posté le 18-11-2004 à 14:21:44    

fait un print_r de ton tableau, montre nous un peu plus de code, et l'idée de === et !== est tres bonne à mon avis

Reply

Marsh Posté le 18-11-2004 à 14:29:24    

ben en fait, j'ai modifie ca :  
 

Code :
  1. foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value){
  2.             if($Key==$nom){
  3.               if($Value){
  4.               }else{
  5.                 $utils->debug(1,"null",$nom); //affiche "DEBUG || null : "
  6.               }


 
pour ca :
 

Code :
  1. foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value){
  2.             if($Key==$nom){
  3.               if($Value!=null){  // ICI : !null
  4.               }else{
  5.                 $utils->debug(1,"null",$nom); //affiche "DEBUG || null : "
  6.               }


 
et du coup, ca me prend les valeurs = 0 avec les autres valeurs.  
 
erreur de newbie ?  :whistle:  
 
en tout cas elle est résolue.  
 
merci,  :hello:

Reply

Marsh Posté le 18-11-2004 à 14:33:59    

Code :
  1. foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value){
  2.             if($Key==$nom){
  3.               if($Value == null){
  4.                 $utils->debug(1,"null",$nom); //affiche "DEBUG || null : "
  5.               }


 
C'est peut etre plus logique, mais bon c'est histoire de chippoter!

Reply

Marsh Posté le 18-11-2004 à 14:39:34    

chipotons chipotons !   :D  
 
car en fait je fais des trucs si c'est pas null :  
 

Code :
  1. foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value){
  2.             if($Key==$nom){
  3.               if($Value!=null){  // ICI : !null
  4.               //on range la valeur a la bonne place
  5.               $tab_new_mois_q[$j][$i] = $Value;
  6.               }else{
  7.                 $utils->debug(1,"null",$nom); //affiche "DEBUG || null : "
  8.               }


 
et du coup il faudrait que je mette ma ligne dans le else alors que là je peux le virer (le else).   :p  
 
genre :  

Code :
  1. foreach ($GLOBALS["HTTP_POST_VARS"] as $Key=>$Value){
  2.             if($Key==$nom){
  3.               if($Value!=null){  // ICI : !null
  4.               //on range la valeur a la bonne place
  5.               $tab_new_mois_q[$j][$i] = $Value;
  6.               }


 
 
enfin bon, ca tu le savais pas aussi...
 
 :hello:

Reply

Marsh Posté le 18-11-2004 à 14:39:34   

Reply

Marsh Posté le 18-11-2004 à 14:41:05    

exact! je comprends mieux lol!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed