IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

formatage de dates récupérées dans un fichier.


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut formatage de dates récupérées dans un fichier.
    Bonjour,

    J'utilise PHPExcel pour récupérer des données dans un fichier XLSX et les exploiter dans une page HTML.
    Le code de ma page est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>AGENDA DES SPECTACLES</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
     
        <link rel="stylesheet" href="style.css" media="screen">
     
    </head>
     
    <body>
    <!-- Je fais un tableau de deux colonnes-->
    <table width="900" border="1" align="center">
      <tr>
      <!-- première colonne avec juste mon image AGENDA-->
        <td width="14%" height="779" align="center" valign="middle"><img src="./images/header.jpg" width="93" height="759" /></td>
        <!-- seconde colonne pour les différentes dates-->
    	<td width="86%">
    	<!-- Je mets une div qui trouve dans le CSS la longueur et qui définit overflow pour le défilement--> 
    	<div id="agendalong">
     
    <!-- *************************************************************************************************
    **********  DEBUT DU PHP *****************************************************************************
    ***************************************************************************************************-->
    <?php
    /** Charger la bibliothèque **/ 
    set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
    include 'PHPExcel/IOFactory.php';
    /** définir le fichier à examiner*/ 
    $inputFileName = './dates.xlsx';
    /** On "charge le fichier excel*/
    $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
    /** On dit que c'est la feuille 0 du fichier excell qu'on va utiliser*/
    $worksheet=$objPHPExcel->getSheet(0);
    /** je met à zero la variable qui va compter les lignes*/
    $i=1;
    /** On boucle pour passer les lignes en revue*/
    foreach ($worksheet->getRowIterator() as $row) {
    	$i = $row->getrowindex();	
    	/** Ici je met dans les différentes variables le contenu de la cellule concernée pour la ligne en cours*/
    												$affiche    =$worksheet->getCellByColumnAndRow('0',$i)->getCalculatedValue();
    												$lieu       =$worksheet->getCellByColumnAndRow('1',$i)->getCalculatedValue();
    												$dati       =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedvalue();
    												$site       =$worksheet->getCellByColumnAndRow('3',$i)->getCalculatedValue();
    												$mail       =$worksheet->getCellByColumnAndRow('4',$i)->getCalculatedValue();
    												$telephone  =$worksheet->getCellByColumnAndRow('5',$i)->getCalculatedValue();
     
    /** On envoi du HTML pour exploiter le contenu des différentes variables et que ça s'affiche bien*/
    echo
    <<<HTML
    <table width="100%" border="1"><tr>
    									<td width="15%"><img src="$affiche" width="134" height="179" /></td>
    									<td width="85%">
    													<span style='font-family:Comic Sans MS; text-align:left; font-size:25px; line-height:25px;'>{$lieu}</span>
    													</BR>
    													</BR>
    													<table width="100%" border="0"><tr>
    													
    																					<td width="80%">
    																					<span style='font-family:Arial; text-align:left; font-size:12px; line-height:22px;'>{$dati}</span> 
    																					</BR>
    																					</BR>
    																					<span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Réservation : <a href="{$site}" target="_blank">Site internet - </a> <a href="{$mail}">Par e-mail </a> 
    																					</span>
    																					</BR>
    																					</BR>
    																					<span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Numéro de téléphone : {$telephone}</span>                                                                                                         
    																					
    																					</td>
    
    																		<td width="20%">
    																		<a href="./oops.html" target="_blank" title="Cliquez ici">
    																		<img src="./images/bouton.png" width="134" height="134" class=""></a>
    																		</td>
    													</tr> 
    													</table>
    							</tr>
    </table>
    HTML;
    }
    ?>  
    </td>
    </tr>
    </table>
    </div>
    </body>
    </html>
    Comme vous voyez je récupère une date avec la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dati       =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedvalue();
    Mon souci c'est que cette date s'affiche parfaitement dans mon fichier Excel (du genre : Vendredi 17 Janvier 2014) mais une fois affichée par ma page, la date devient "41656" comme vous pouvez le voir ici : espaceimy.cluster010.ovh.net/agenda2/

    J'ai regardé dans la doc de PHPExcel et j'ai vu qu'il ya moyen de formater les dates pour écrire dans une cellule mais je ne comprends pas comment mettre en forme une date qu'on à lue dans un fichier.
    D'Autre part je voudrais comparer la date qui est dans $dati avec la date courante et déclencher une condition si $dati est après la date courante.
    J'ai vu qu'il y a la fonction now pour connaitre la date courante mais je ne sais pas comment est la syntaxe pour faire la comparaison.
    Je suppose que c'est un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($dati>now)
    {ce que je veux faire}
    else 
    {ce que je fais sinon}
    Mais bien sur ça ne marche pas et je suppose que c'est du au fait que $dati n'est pas du bon "type" pour être comparé à now.
    Du coup je me demande comment faire pour mettre $dati dans un état ou il peut être comparé et comment ensuite le mettre dans un état ou il peut être affiché comme sur Excel c'est à dire : Lundi 3 septembre 2012.

    Si quelqu'un connait PHPExcel et sait m'aider ce serait cool.

    Merci.

    A+

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 59
    Points
    59
    Par défaut
    Une petite recherche google et voilà le résultat, à priori juste un soucis d'encodage de date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $date = $sheet->getCell('M4')->getValue(); // 37231 (Excel date)
    $date = PHPExcel_Shared_Date::ExcelToPHP($date); // 1007596800 (Unix time)
    $date = date('d.m.Y', $date); // 06.12.2001 (formatted date)
    plus d'information, ici : https://phpexcel.codeplex.com/discussions/70463

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Merci pour ton aide :-)

    J'avais déjà essayé ça mais ça ne fonctionne pas.
    Avec ce code ma page affiche toujours 01.01.1970.
    Pourtant quand on ne formate pas la date on obtient des valeurs telles que : 41656, 41657, 41660,... ce qui semble logique puisque les 3 première dates sont 17/01/2014, 18/01/2014 et 21/01/2014.
    Donc on peut en déduire que la feuille Excel est bien lue et que la valeur stockée dans la variable $dati est bien correcte.
    Par contre une fois qu'on essaye de mettre cette valeur en forme c'est le bordel :-)

    J'ai aussi essayé d'utiliser "now" pour obtenir la date courante sans plus de succès.

    J'ai ce petit bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $dati       =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedvalue();
    $dati       =date('d.m.Y',$dati);
    $dato       =date('now');
    $dato       =date('d.m.Y',$dato);
    qui selon moi devrait
    mettre la valeur de la cellule Excell dans la variable $dati.
    mettre dans la variable $dati le contenu de la variable $dati formaté comme une date jour,mois, année (même si je préfèrerais nom du jour, jour, mois, année).
    mettre la date courante dans la variable $dato.
    mettre dans la variable $dato le contenu de la variable $dato formaté comme une date jour, mois, année.

    Voici le code entier de ma page actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>AGENDA DES SPECTACLES</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
     
        <link rel="stylesheet" href="style.css" media="screen">
     
    </head>
     
    <body>
    <!-- Je fais un tableau de deux colonnes-->
    <table width="900" border="1" align="center">
      <tr>
      <!-- première colonne avec juste mon image AGENDA-->
        <td width="14%" height="779" align="center" valign="middle"><img src="./images/header.jpg" width="93" height="759" /></td>
        <!-- seconde colonne pour les différentes dates-->
    	<td width="86%">
    	<!-- Je mets une div qui trouve dans le CSS la longueur et qui définit overflow pour le défilement--> 
    	<div id="agendalong">
     
    <!-- *************************************************************************************************
    **********  DEBUT DU PHP *****************************************************************************
    ***************************************************************************************************-->
    <?php
    /** Charger la bibliothèque **/ 
    set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
    include 'PHPExcel/IOFactory.php';
    /** définir le fichier à examiner*/ 
    $inputFileName = './dates.xlsx';
    /** On "charge le fichier excel*/
    $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
    /** On dit que c'est la feuille 0 du fichier excell qu'on va utiliser*/
    $worksheet=$objPHPExcel->getSheet(0);
    /** je met à zero la variable qui va compter les lignes*/
    $i=1;
    /** On boucle pour passer les lignes en revue*/
    foreach ($worksheet->getRowIterator() as $row) {
    	$i = $row->getrowindex();	
    	/** Ici je met dans les différentes variables le contenu de la cellule concernée pour la ligne en cours*/
    												$affiche    =$worksheet->getCellByColumnAndRow('0',$i)->getCalculatedValue();
    												$lieu       =$worksheet->getCellByColumnAndRow('1',$i)->getCalculatedValue();
    												$dati       =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedvalue();
    												$dati       =date('d.m.Y',$dati);
    												$dato       =date('now');
    												$dato       =date('d.m.Y',$dato);
    												$site       =$worksheet->getCellByColumnAndRow('3',$i)->getCalculatedValue();
    												$mail       =$worksheet->getCellByColumnAndRow('4',$i)->getCalculatedValue();
    												$telephone  =$worksheet->getCellByColumnAndRow('5',$i)->getCalculatedValue();
     
    /** On envoi du HTML pour exploiter le contenu des différentes variables et que ça s'affiche bien*/
    echo
    <<<HTML
    <table width="100%" border="1"><tr>
    									<td width="15%"><img src="$affiche" width="134" height="179" /></td>
    									<td width="85%">
    													<span style='font-family:Comic Sans MS; text-align:left; font-size:25px; line-height:25px;'>{$lieu}</span>
    													</BR>
    													</BR>
    													<table width="100%" border="0"><tr>
    													
    																					<td width="80%">
    																					<span style='font-family:Arial; text-align:left; font-size:12px; line-height:22px;'>{$dati}   -   {$dato}</span> 
    																					</BR>
    																					</BR>
    																					<span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Réservation : <a href="{$site}" target="_blank">Site internet - </a> <a href="{$mail}">Par e-mail </a> 
    																					</span>
    																					</BR>
    																					</BR>
    																					<span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Numéro de téléphone : {$telephone}</span>                                                                                                         
    																					
    																					</td>
    
    																		<td width="20%">
    																		<a href="./oops.html" target="_blank" title="Cliquez ici">
    																		<img src="./images/bouton.png" width="134" height="134" class=""></a>
    																		</td>
    													</tr> 
    													</table>
    							</tr>
    </table>
    HTML;
    }
    ?>  
    </td>
    </tr>
    </table>
    </div>
    </body>
    </html>

  4. #4
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    OK j'ai compris il faut passer par la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date = PHPExcel_Shared_Date::ExcelToPHP($date); // 1007596800 (Unix time)
    Je ne comprends pas bien pourquoi mais bon...

    Il me reste a trouver comment on utilise now et comment on formate en mercredi 12 septembre 2014 plutôt qu'en 12/9/2014.

    Si quelqu'un a une idée :-)

  5. #5
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Chui arrivé à faire tout comment qu'est ce que je voulais

    Finalement j'ai pas utiliser now de PHPExcel , j'ai juste utilisé date.

    Au cas ou ca pourrait servir à quelqu'un voila ma page complète :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>AGENDA DES SPECTACLES</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
    <link rel="stylesheet" href="style.css" media="screen">
    </head>
    <body>
    <!-- Je fais un tableau de deux colonnes-->
    <table width="900" border="1" align="center">
      <tr>
      <!-- première colonne avec juste mon image AGENDA-->
        <td width="14%" height="779" align="center" valign="middle"><img src="./images/header.jpg" width="93" height="759" /></td>
        <!-- seconde colonne pour les différentes dates-->
        <td width="86%">
        <!-- Je mets une div qui trouve dans le CSS la longueur et qui définit overflow pour le défilement--> 
        <div id="agendalong">
     
    <!--   DEBUT DU PHP ***********-->
    <?php
    /** Charger la bibliothèque **/ 
    set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
    include 'PHPExcel/IOFactory.php';
    /** définir le fichier à examiner*/ 
    $inputFileName = './dates.xlsx';
    /** On "charge le fichier excel*/
    $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
    /** On dit que c'est la feuille 0 du fichier excell qu'on va utiliser*/
    $worksheet=$objPHPExcel->getSheet(0);
    /** je met à zero la variable qui va compter les lignes*/
    $i=1;
    /** On boucle pour passer les lignes en revue*/
    foreach ($worksheet->getRowIterator() as $row) {
        $i = $row->getrowindex();    
        /** Ici je met dans les différentes variables le contenu de la cellule concernée pour la ligne en cours*/
        $affiche    =$worksheet->getCellByColumnAndRow('0',$i)->getCalculatedValue();
        $lieu       =$worksheet->getCellByColumnAndRow('1',$i)->getCalculatedValue();
        $dati       =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedValue();
        $dati       =PHPExcel_Shared_Date::ExcelToPHP($dati);
        $dati       =date('d-m-Y',$dati);
        $dato       =date('d-m-Y');
        $site       =$worksheet->getCellByColumnAndRow('3',$i)->getCalculatedValue();
        $mail       =$worksheet->getCellByColumnAndRow('4',$i)->getCalculatedValue();
        $telephone  =$worksheet->getCellByColumnAndRow('5',$i)->getCalculatedValue();
        $reserve    =$worksheet->getCellByColumnAndRow('6',$i)->getCalculatedValue();
     
     
     
    if (strtotime($dati)>=strtotime($dato)) /** on regarde si la date de la ligne Excelle est dans le passé, si pas on affiche le contenu des variables */
    {
    echo /** On envoi du HTML pour exploiter le contenu des différentes variables et que ça s'affiche bien*/
    <<<HTML
    <table width="100%" border="1">
        <tr>
            <td width="15%"><img src="$affiche" width="134" height="179" /></td>
            <td width="85%">
                <span style='font-family:Comic Sans MS; text-align:left; font-size:25px; line-height:25px;'>{$lieu}</span>
                </BR>
                </BR>
                <table width="100%" border="0">
                    <tr>
                        <td width="80%">
                            <span style='font-family:Arial; text-align:left; font-size:12px; line-height:22px;'>{$dati}</span> 
                            </BR></BR>
                            <span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Réservation : <a href="{$site}" target="_blank">Site internet - </a> <a href="mailto:{$mail}">Par e-mail </a></span>
                            </BR></BR>
                            <span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Numéro de téléphone : {$telephone}</span> 
                        </td>
                        <td width="20%">
                            <a href="$reserve" target="_blank" title="Cliquez ici"><img src="./images/bouton.png" width="134" height="134" class=""></a>
                        </td>
                    </tr> 
                </td>
            </table>
        </tr>
    </table>
    </html>
    HTML;
    }
    }
    $closeFileName = './dates.xlsx';
    ?>  
    </div>
    </td>
    </tr>
    </table>
     
    </body>
    </html>

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    sauf erreur de ma part, ton HTML est bancal...

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Points : 59
    Points
    59
    Par défaut
    Ouais, il y a des "</BR>" qui ne sont pas correctes (au premier coup d'oeil déjà)

  8. #8
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    Heu oui en fait c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>AGENDA DES SPECTACLES</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
    <link rel="stylesheet" href="style.css" media="screen">
    </head>
    <body>
    <!-- Je fais un tableau de deux colonnes-->
    <table width="900" border="1" align="center">
      <tr>
      <!-- première colonne avec juste mon image AGENDA-->
        <td width="14%" height="779" align="center" valign="middle"><img src="./images/header.jpg" width="93" height="759" /></td>
        <!-- seconde colonne pour les différentes dates-->
        <td width="86%">
        <!-- Je mets une div qui trouve dans le CSS la longueur et qui définit overflow pour le défilement--> 
        <div id="agendalong">
     
    <!--   DEBUT DU PHP ***********-->
    <?php
    /** Charger la bibliothèque **/ 
    set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
    include 'PHPExcel/IOFactory.php';
    /** définir le fichier à examiner*/ 
    $inputFileName = './dates.xlsx';
    /** On "charge le fichier excel*/
    $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
    /** On dit que c'est la feuille 0 du fichier excell qu'on va utiliser*/
    $worksheet=$objPHPExcel->getSheet(0);
    /** je met à zero la variable qui va compter les lignes*/
    $i=1;
    /** On boucle pour passer les lignes en revue*/
    foreach ($worksheet->getRowIterator() as $row) {
        $i = $row->getrowindex();   
        /** Ici je met dans les différentes variables le contenu de la cellule concernée pour la ligne en cours*/
        $affiche    =$worksheet->getCellByColumnAndRow('0',$i)->getCalculatedValue();
        $lieu       =$worksheet->getCellByColumnAndRow('1',$i)->getCalculatedValue();
        $datu       =$worksheet->getCellByColumnAndRow('2',$i)->getCalculatedValue();
        $heure      =$worksheet->getCellByColumnAndRow('3',$i)->getCalculatedValue();
        $site       =$worksheet->getCellByColumnAndRow('4',$i)->getCalculatedValue();
        $mail       =$worksheet->getCellByColumnAndRow('5',$i)->getCalculatedValue();
        $telephone  =$worksheet->getCellByColumnAndRow('6',$i)->getCalculatedValue();
        $reserve    =$worksheet->getCellByColumnAndRow('7',$i)->getCalculatedValue();
        $coment     =$worksheet->getCellByColumnAndRow('8',$i)->getCalculatedValue();
        $dati       = PHPExcel_Shared_Date::ExcelToPHP($datu);
        $dati       =date('d-m-Y',$dati);
        $dato       =date('d-m-Y');
     
    if (strtotime($dati)>=strtotime($dato)) /** on regarde si la date de la ligne Excelle est dans le passé, si pas on affiche le contenu des variables */
    {
    echo /** On envoi du HTML pour exploiter le contenu des différentes variables et que ça s'affiche bien*/
    <<<HTML
    <table width="100%" border="1"><tr>
        <td width="15%"><img src="$affiche" width="134" height="179" /></td>
        <td width="85%">
            <span style='font-family:Comic Sans MS; text-align:left; font-size:30px; line-height:25px;'>{$lieu}</span>
            <BR>
            <table width="100%" border="0"><tr>
                <td width="80%">
                    <span style='font-family:Arial; text-align:left; font-size:12px; line-height:22px;'>Le {$dati} à {$heure}</span> 
                    <BR>
                    <span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Réservation : <a href="{$site}" target="_blank">Site internet - </a> <a href="mailto:{$mail}">Par e-mail </a></span>
                    <BR>
                    <span style='font-family:Arial; text-align:left; font-size:14px; line-height:22px;'>Numéro de téléphone : {$telephone}</span> 
                    <BR><BR>
                    <span style='font-family:Arial; text-align:left; font-size:18px; line-height:22px;'>{$coment}</span>
                </td>
                <td width="20%">
                    <a href="$reserve?variable=$datu"><img src="./images/bouton.png" width="134" height="134" class=""></a>
                </td>
            </tr> 
        </td>
    </table>
    </tr>
    </table>
    </html>
    HTML;
    }
    }
    $closeFileName = './dates.xlsx';
    ?>  
    </div>
    </td>
    </tr>
    </table>
     
    </body>
    </html>
    Vous voyez encore quelque chose qui cloche ?

    Sinon vous pouvez voir le résultat ici : www.jeromedewarzee.com ou www.martin-rire.com ou www.sofiasyko.be rubrique agenda....

    A peluches...

  9. #9
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ce qui cloche encore et toujours c'est ton HTML.
    Si tu présentais mieux ton code tu le verrais au premier coup d’œil.

    - tables sans ligne !!??
    - l’imbrication des balises n'est pas bon : certaines ferment des balises ouvrantes inexistantes
    - le css pollue le code ce qui le rend encore plus difficile à lire et à vérifier...
    - tes valeurs au rendu ne sont pas échappées (y compris les url)

    Allez bon courage.

  10. #10
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Pour t'aider à améliorer ton css, une (très) bonne manière de faire est de respecter les standards w3c : pour se faire, tu peux utiliser le validateur w3c qui se charge de valider ton code HTML.

    Le but du jeu est simple, corriger toutes les erreurs (il faut les corriger dans l'ordre, car il arrive souvent que la correction d'une en corrige beaucoup d'autres).
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  11. #11
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 016
    Points : 308
    Points
    308
    Par défaut
    J'ai été voir la validation .... bon allez je m'y met .... demain.... promis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Animer une donnée récupérée dans mon fichier JSON
    Par opmqopmq dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/08/2014, 09h30
  2. Réponses: 0
    Dernier message: 30/01/2014, 10h13
  3. Réponses: 2
    Dernier message: 13/11/2012, 13h42
  4. [WD10] Date + heure dans un fichier de l'analyse
    Par Vinestro dans le forum WinDev
    Réponses: 2
    Dernier message: 11/08/2009, 09h41
  5. Date absente dans le fichier Export Outlook
    Par kmdkaci dans le forum Outlook Express / Windows Mail
    Réponses: 0
    Dernier message: 29/05/2008, 13h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo