Problème de date

Problème de date - PHP - Programmation

Marsh Posté le 28-03-2007 à 15:14:29    

Bonjour à tous ,
 
J'ai un problème pour stocker une date dans une variable  
 
Voice le code :
$i=0;
while ($row = mysql_fetch_array($res)) {
 
$temp=$row['date'];
echo $temp," ";       //ici la date affiché par temp est : 2007-03-21
 
$date[$i]=$row['date'];
echo $date[$i]," "; //mais ici l'affichage donne : 2
 
$i++;
}
 
Je ne comprend pas pouruoi j'ai ce problème d'affichage
 
Merci d'avance
 
 

Reply

Marsh Posté le 28-03-2007 à 15:14:29   

Reply

Marsh Posté le 28-03-2007 à 15:22:57    

L'opérateur de concaténation, c'est le . et pas la ,
Je sais que echo peut prendre plusieurs paramètres à la suite, mais je me demande si ton pb vient pas de là.
 
fais echo $date[$i].' ';

Reply

Marsh Posté le 28-03-2007 à 15:29:24    

J'ai essayé ca ne fonctionne pas :(.
 
je sais pas pourquoi il prend seulement 2 alors qu'il devrait prendre 2007-03-21

Reply

Marsh Posté le 28-03-2007 à 15:35:49    

Ba peut être parce que tu n'as pas le droit d'utilise la variable $date ? change voir pour dates... ;)

Reply

Marsh Posté le 28-03-2007 à 15:40:11    

Ca marche.
 
J'ai essayé avec dates lol, je sais trop pourquoi mais le principal est que ca marche
 
merci bien ;)

Reply

Marsh Posté le 28-03-2007 à 15:40:33    

Tu dois avoir une variable $date déjà déclarée quelque part et à laquelle t'as affecté une chaîne de caractères. Du coup, $date[$i], c'est le i-ème caractère de ta chaîne.
 
Rajoute $date = array() avant ta boucle sinon.


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

Marsh Posté le 28-03-2007 à 15:49:35    

Il est possible que date soit une variable utilisée par le systéme.. (en php il n'y a pas des nom de variable interdit ??? chais plus...)

Reply

Marsh Posté le 28-03-2007 à 15:51:09    

Si c'était une variable réservée, je doute qu'elle eut un nom aussi "évident". :)


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

Marsh Posté le 28-03-2007 à 15:53:37    

tiens juste par curiosité fait un vardump ($date) avant et dans ta boucle et montre le résultat... je pense que ce sera la dete de ce jour qui sera affichée

Reply

Marsh Posté le 28-03-2007 à 15:54:51    

par hasard, t'aurais pas laisser dans le php.ini la variable register_globals à "On" et dans une des variables $_POST, $_GET, $_SESSION ou $GLOBALS, taurais pas une variable nomée date?

Reply

Marsh Posté le 28-03-2007 à 15:54:51   

Reply

Marsh Posté le 28-03-2007 à 15:55:46    

chani_t a écrit :

tiens juste par curiosité fait un vardump ($date) avant et dans ta boucle et montre le résultat... je pense que ce sera la dete de ce jour qui sera affichée


 
normalement, c'est date('Y-m-d'); pour afficher la date courante...

Reply

Marsh Posté le 29-03-2007 à 02:03:33    

rufo a écrit :

L'opérateur de concaténation, c'est le . et pas la ,
Je sais que echo peut prendre plusieurs paramètres à la suite, mais je me demande si ton pb vient pas de là.
 
fais echo $date[$i].' ';


 
 [:pingouino]  
 
Si tu essayes d'aider les gens, évites de les induire en erreur stp.
 
Utiliser la virgule est plus rapide, utiliser des points reviens à appeler echo plusieurs fois...


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 29-03-2007 à 08:33:20    

Shinuza a écrit :

[:pingouino]  
utiliser des points reviens à appeler echo plusieurs fois...


 
Je dirais que c'est plutôt d'utiliser des virgules qui revient à appeler echo plusieurs fois (y a qu'un appel, mais l'algo fait sûrement une boucle sur les arguments).  [:spamafote]  
 
Le "problème" de l'utilisation du point dans ce cadre-là c'est plutôt que ça oblige à concaténer pleins de fois des chaînes qui n'ont pas besoin de l'être, (et que la concaténation n'est pas la chose la plus rapide qui soit).


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

Marsh Posté le 29-03-2007 à 09:59:46    

en même temps, je pense que ses echo sont là pour faire du debug. Donc l'aspect perf :/

Reply

Marsh Posté le 29-03-2007 à 11:12:16    

@sielfried :
 
Le fait de séparer les chaines par une virgule les mets en mémoire et les affiche dès qu'un point virgule est rencontré.
 
@rufo : Et? Ca reste une bonne habitude à prendre pour des logiciels de prod [:sinclaire]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 29-03-2007 à 11:49:40    

Shinuza a écrit :

@sielfried :
 
Le fait de séparer les chaines par une virgule les mets en mémoire et les affiche dès qu'un point virgule est rencontré.
 
@rufo : Et? Ca reste une bonne habitude à prendre pour des logiciels de prod [:sinclaire]


 
Franchement, ce débat est du même niveau que la différence de perf entre ' ou " pour afficher une chaîne constante :o C'est tellement minime... Alors qu'en général, y'a des parties de l'appli qui, elles, pourraient vraiment être optimisées (algo, requêtes SQL, code html...). Enfin bon, c'est pas le sujet ici. Fin du HS.


Message édité par rufo le 29-03-2007 à 11:50:19
Reply

Sujets relatifs:

Leave a Replay

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