Page 1 sur 1

date fr dans un tableau.

Posté : 14 mars 2008, 22:33
par darkvad
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 ?

Posté : 15 mars 2008, 00:18
par Cyrano
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>

Posté : 15 mars 2008, 00:39
par Hywan
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.

Posté : 15 mars 2008, 02:15
par Truc
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.