date fr dans un tableau.

Eléphanteau du PHP | 12 Messages

14 mars 2008, 22:33

Désolé c est bon j ai trouvé




J ai enfin trouvé pour transformer mes dates sql (us) en dates fr. Mon dernier probleme est la fonction marche bien sur la premiere ligne de mon tableau mais pas sur les autres.

message d'erreur : Fatal error: Cannot redeclare datemysqltofr() (previously declared in C:\Program Files\EasyPHP 2.0b1\www\site2\pages\listeventes.php:103) in C:\Program Files\EasyPHP 2.0b1\www\site2\pages\listeventes.php on line 103

Code : Tout sélectionner

<?php do { ?> <?php function DateMysqltoFr($DateMysql , $conv='fr'){ switch($conv) { case 'fr': list($annee, $mois, $jour) = explode("-", $DateMysql); return ($jour."/".$mois."/".$annee); break; case 'mysql': list($jour, $mois, $annee) = explode("/", $DateMysql); return ($annee."-".$mois."-".$jour); break; } // switch } ?> <tr> <td><?php echo $row_listeventes['id']; ?></td> <td><?php echo $row_listeventes['nom']; ?></td> <td><?php echo $row_listeventes['adresse']; ?></td> <td><?php echo $row_listeventes['nature']; ?></td> <td><?php echo DateMysqltoFr($row_listeventes['ddebut']); ?></td> <td><?php echo DateMysqltoFr($row_listeventes['dfin']); ?></td> <td><?php echo $row_listeventes['motif']; ?></td> </tr> <?php } while ($row_listeventes = mysql_fetch_assoc($listeventes)); ?> </table> <p>&nbsp;</p> <p>&nbsp;</p> </body> </html> <?php mysql_free_result($listeventes); ?>
je ne comprends pas pourquoi ce message ! quelqu 'un peut il m aider ?

Mammouth du PHP | 19672 Messages

15 mars 2008, 00:18

Normal : tu as mis la fonction dans la boucle donc à chaque tour ça redéclare la même fonction... tout à fait inutilement.

Proposition de correction :
<?php
function DateMysqltoFr($DateMysql , $conv='fr')
{
    switch($conv)
    {
        case 'fr':
            list($annee, $mois, $jour) = explode("-", $DateMysql);
            return ($jour."/".$mois."/".$annee);
            break;
        case 'mysql':
            list($jour, $mois, $annee) = explode("/", $DateMysql);
            return ($annee."-".$mois."-".$jour);
            break;
    } // switch
}
do {
?>
        <tr>
          <td><?php echo $row_listeventes['id']; ?></td>
          <td><?php echo $row_listeventes['nom']; ?></td>
          <td><?php echo $row_listeventes['adresse']; ?></td>
          <td><?php echo $row_listeventes['nature']; ?></td>
          <td><?php echo DateMysqltoFr($row_listeventes['ddebut']); ?></td>
          <td><?php echo DateMysqltoFr($row_listeventes['dfin']); ?></td>
          <td><?php echo $row_listeventes['motif']; ?></td>
        </tr>
<?php
} while ($row_listeventes = mysql_fetch_assoc($listeventes)); 
mysql_free_result($listeventes);
?>
    </table>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </body>
</html>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
ViPHP | 4674 Messages

15 mars 2008, 00:39

Quitte à proposer une correction, je propose d'utiliser un while plutôt qu'un do-while ... (mais pourquoi Dreamweaver a proposé ça ?!)
En effet, lors du premier passage dans la boucle, aucune des variables ne sera définie, ce qui provoquera une belle ribambelle d'erreur.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 mars 2008, 02:15

Modération :
darkvad, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute