Inserer un array dans ma bdd mysql

Rechercher

Inserer un array dans ma bdd mysql

Par DenisACF01  -  28 reponses  -  Le 26/07/2014 09:58  -  Editer  - 

Bonjour, voilà un un array et j'aimerais l’insérer dans ma base de données mysql et malgré plusieurs proposition je n'y arrive pas voici mon script

    <HEAD>  
      <meta http-equiv='refresh' content='60;url='http://localhost/Server_Statut.php/'>  
    </HEAD>  

    <?php  
    $data = array(2 => array(10 => array()));  
    $bdd = new PDO('mysql:host=localhost;dbname=server_statut', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));  

    $url = "http://aventureclub-airlines.fr/whazzup/whazzup.txt";  
    $file = file($url);  
    $connect = array();  
    foreach($file as $line)  
    {  
        $line = trim($line);  
        if(preg_match("/([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+)/", $line, $matches))  
        {  
            $connect[] = array($matches[2], $matches[3], $matches[12], $matches[14]);  
        }  
    }  

    echo "<pre>";  
    var_dump($connect);  
    echo "</pre>";  

    ?>  

sa affiche dans localhot/server_statut.php:

    array (size=4)    
        0 => array (size=4)    
            0 => string 'ACF01' (length=5)    
            1 => string 'Denis BOU' (length=14)    
            2 => string 'OMDB' (length=4)    
            3 => string 'KJFK' (length=4)    
        1 => array (size=4)    
            0 => string 'ACF13' (length=5)    
            1 => string 'Jean-louis FIR' (length=16)    
            2 => string 'RPLL' (length=4)    
            3 => string 'VVNB' (length=4)    
        2 => array (size=4)    
            0 => string 'ACF59' (length=5)    
            1 => string '>Joan MONTE ' (length=20)    
            2 => string 'RJAA' (length=4)    
            3 => string 'WMKK' (length=4)    
        3 => array (size=4)    
            0 => string 'ACF73' (length=5)    
            1 => string 'Claude DUMO' (length=16)    
            2 => string 'LFMN' (length=4)    
            3 => string 'LFKJ' (length=4)  

l'array se rempli en fonction de membres que se connecte au server

Ma bdd Mysql et composée d'une colonne 'Online_Pilotes' et des champs; ID, Name, Departs, Arrivees, FS.
Merci d'avance pour votre aide

 

Réponses apportées à cette discussion

Par Cyrano  -  Le 26/07/2014 17:34  -  Haut de page  - 

Ben il manque un bout du code : on a l'affichage, très bien, mais ensuite, où est le code d'insertion ? Sans ça, difficile de savoir s'il y a ou non une erreur...

 
Par DenisACF01  -  Le 29/07/2014 15:41  -  Haut de page  - 

j'ai créer un tableeau html et je dois mettre les values array

    <!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 content="fr" http-equiv="Content-Language" />  
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />  
    <title>Online Pilotes</title>  
    <style type="text/css">  
    .style1 {  
        border: 5px solid #000000;  
    }  
    .style2 {  
        text-align: center;  
        font-size: medium;  
        color: #FFFF99;  
        background-color: #000000;  
    }  
    .style3 {  
        text-align: center;  
        font-size: small;  
        background-color: #66FF99;  
    }  
    .style4 {  
        font-size: small;  
        background-color: #66FF99;  
    }  
    .style6 {  
        font-size: xx-small;  
        text-align: center;  
        background-color: #0000CC;  
    }  
    .style7 {  
        font-size: xx-small;  
        text-align: center;  
        color: #FFFF99;  
        background-color: #0000CC;  
    }  
    .style8 {  
        font-size: small;  
        color: #FFFFFF;  
        background-color: #0000CC;  
        font-family: QualityWings146_EICAS;  
        font-weight: bold;  
    }  
    .style11 {  
        font-size: small;  
        text-align: center;  
        background-color: #0000CC;  
    }  
    .style12 {  
        font-size: small;  
        text-align: center;  
        color: #FFFFFF;  
        background-color: #0000CC;  
        font-family: QualityWings146_EICAS;  
        font-weight: bold;  
    }  
    .style13 {  
        font-size: xx-small;  
        text-align: center;  
        background-color: #0000CC;  
        font-family: QualityWings146_EICAS;  
    }  
    .style14 {  
        font-family: QualityWings146_EICAS;  
    }  
    </style>  
    </head>  

    <body>  

    <table class="style1" style="width: 401px; height: 344px">  
        <tr>  
            <td class="style2" colspan="6" style="height: 31px">Online Pilotes</td>  
        </tr>  
        <tr>  
            <td class="style4" style="height: 9px">Pays</td>  
            <td class="style3" style="height: 9px">Callsign</td>  
            <td class="style3" style="height: 9px">Name</td>  
            <td class="style3" style="height: 9px">Departs</td>  
            <td class="style3" style="height: 9px">Arrivees</td>  
            <td class="style3" style="height: 9px">FS</td>  
        </tr>  
        <tr>  
            <td class="style11" style="height: 17px">  
            <img alt="" class="style14" height="11" src="fr.png" width="16" /></td>  
            <td class="style12" style="height: 17px">ACF00</td>  
            <td class="style12" style="height: 17px">AventureClub   
            Airlines</td>  
            <td class="style8" style="height: 17px">LFPG</td>  
            <td class="style12" style="height: 17px">LFML</td>  
            <td class="style12" style="height: 17px">P3D</td>  
        </tr>  
        <tr>  
            <td class="style6" style="height: 17px">  
            <img alt="" class="style14" height="11" src="fr.png" width="16" /></td>  
            <td class="style12" style="height: 17px">ACF01</td>  
            <td class="style12" style="height: 17px">Denis Bousquet</td>  
            <td class="style8" style="height: 17px">KJFK</td>  
            <td class="style12" style="height: 17px">LFPG</td>  
            <td class="style12" style="height: 17px">XP10</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 17px">  
            &nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style8" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
            <td class="style12" style="height: 17px">&nbsp;</td>  
        </tr>  
            <tr>  
            <td class="style13" style="height: 15px">  
            &nbsp;</td>  
            <td class="style7" style="height: 15px"></td>  
            <td class="style7" style="height: 15px"></td>  
            <td class="style8" style="height: 15px">&nbsp;</td>  
            <td class="style12" style="height: 15px">&nbsp;</td>  
            <td class="style12" style="height: 15px">&nbsp;</td>  
        </tr>  
    </table>  

    </body>  

    </html>  










    <HEAD>  
    <meta http-equiv='refresh' content='60;url='http://localhost/Server_Statut.php/'>  

    </HEAD>  



    <?php  


    $bdd = NEW PDO('mysql:host=localhost;dbname=server_statut','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));  





    $url="http://aventureclub-airlines.fr/whazzup/whazzup.txt";  
    $file = file($url);  
    $connect = array();  
    foreach ($file as $line) {  
       $line = trim($line);  
    if(preg_match("/([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)/", $line, $matches )){  
    $connect[] = array($matches[2], $matches[3],  $matches[12], $matches[14] );  
    }  

    }  






    echo "<pre>"; var_dump($connect); echo "</pre>";  




    ?>
 
Par Cyrano  -  Le 30/07/2014 01:01  -  Haut de page  - 

Ok, donc si je comprend bien, pour l'instant, tu arrives à récupérer les données, tu sais comment tu veux l'afficher, mais tu ne sais pas comment relier les deux, c'est bien ça ?

Et si c'est ça, qu'est-ce que la logique te dit de faire ? Comment traiter une par une chaque ligne de données du retour de ta base de données pour construire une ligne du tableau HTML ? Un petit indice pour te guider : boucle while ou encore boucle foreach. Regarde un tout petit peu la documentation de PHP sur les structures de contrôle pour ces deux formes de boucles : la réponse à ta question devrait te sauter aux yeux, sinon, tâche de m'expliquer ce que tu as compris et je tâcherai de te remettre sur le chemin.

 
Par DenisACF01  -  Le 30/07/2014 07:54  -  Haut de page  - 

Merci pour ton aide.

Donc j'ai chercher un peu sur des forums et la je ne sais pas quoi mettre exactement et sur tout ou le placé dans mon script pour affiché les données dans mon tableau HTML. les propositions dans les forums donne des exemples mais pas sur les mêmes données que moi donc difficile de savoir quand on ai que débutant lol.

 
Par Cyrano  -  Le 30/07/2014 08:05  -  Haut de page  - 

Mouais, c'est un peu décevant.

Tu conviendras sans doute de la chose suivante :

Tant qu'il y a encore une ligne de données
    Ajouter une ligne au tableau;
Fin tant que;

Schématiquement, c'est le principe. Ça veut donc dire que tu vas devoir construire dynamiquement les lignes de ton tableau avant de l'afficher à l'écran.
Si tu isoles une ligne de ton tableau HTML, tu te retrouves avec ceci :

<tr>  
  <td class="style11" style="height: 17px"><img alt="" class="style14" height="11" src="fr.png" width="16" /></td>  
  <td class="style12" style="height: 17px">ACF00</td>  
  <td class="style12" style="height: 17px">AventureClub Airlines</td>  
  <td class="style8" style="height: 17px">LFPG</td>  
  <td class="style12" style="height: 17px">LFML</td>  
  <td class="style12" style="height: 17px">P3D</td>  
</tr>

Là, il te faut remplacer ces informations en dur par les informations de la base de données qui sont dans une variable « $connect »

Maintenant, on a quand même un petit soucis : ta question d'origine mentionnait l'insertion des données d'un fichier texte dans une base de données. Maintenant, tu parles de l'afficher à l'écran dans un tableau HTML.

Finalement, tu veux faire quoi au juste ?

 
Par DenisACF01  -  Le 30/07/2014 08:22  -  Haut de page  - 

l'afficher à l'écran dans un tableau HTML.

Mon tableau s'affiche exactement comme je le souhaitais reste plus qu'à insérer les données dans les lignes.
Pour données une idée de mon projet:
[url]http://aventureclub-airlines.fr/ImageACF/Online_Pilotes_Model_Tableau.png[/url]

 
Par Cyrano  -  Le 30/07/2014 11:09  -  Haut de page  - 

Ok, alors reprenons sur ce que j'ai suggéré plus tôt : as-tu jeté un coup d’œil sur les structures de contrôle dans la documentation de PHP ?

Pour la boucle while, les exemples sont légers, tu auras plus d'exemples avec la boucle foreach, mais dans les deux cas, c'est la solution à utiliser pour construire ton tableau HTML. Fais des essais, n'aie pas peur de te tromper, c'est comme ça qu'on apprend, et je te remettrai sur la route si tu pars de travers ;)

 
Par DenisACF01  -  Le 30/07/2014 11:12  -  Haut de page  - 

ok merci

 
Par DenisACF01  -  Le 31/07/2014 16:16  -  Haut de page  - 

bon sais pas que je ne veux mettre de la mauvaise volonté mais je n'y arrive pas

pouvez vous me mettre sur la voie
caril me reste plus que le remplissage de mon tableau et j'ai fini.
Merci

 
Par Cyrano  -  Le 31/07/2014 16:19  -  Haut de page  - 

Montre moi déjà ce que tu as fait, ça me donnera une idée du problème sur lequel tu butes et on passera moins de temps. Et ne t'inquiètes pas si le code est mauvais, l'apprentissage passe par des erreurs, même pas terrible, ça reste un point de départ.

 
Par DenisACF01  -  Le 31/07/2014 16:27  -  Haut de page  - 

désolé mais je ne sais vraiment pas quoi mettre code grrrr

 
Par Cyrano  -  Le 31/07/2014 17:23  -  Haut de page  - 

ôO

Dis, si tu ne commences pas du tout, je ne le ferai pas à ta place. Le code ne dois pas rester purement théorique, il faut commencer quelque part et en écrire, quitte à faire des erreurs.

As-tu lu un peu la documentation que je t'ai indiquée ? As-tu testé quelque chose d'une manière ou d'une autre ou tu attendais que le code s'auto-génère par l'opération du Saint Esprit ?

 
Par DenisACF01  -  Le 06/08/2014 09:33  -  Haut de page  - 

j'ai donc créer mon foreach,

    echo '<table>';  
    foreach ($connect as $ligne) {  
       echo '<td>';  
       foreach ($ligne as $value) {  
          echo '<td>'. htmlspecialchars ($value) . '</td>';  
       }  
       echo '</tr>';  
    }  
    echo '</table>';  

qui affiche bien un tableau

    ACF59    Joan MONTE     FMEE    LFPG  
    ACF01    Denis             CYUL    LFPG  
    ACF13    Jean-louis     LFPG    LEBB  

déjà c'est bien mais j'aimerais que les données s"affiche dans mon tableau html déjà créer!
y a t'il une solution? Merci

 
Par Cyrano  -  Le 06/08/2014 09:43  -  Haut de page  - 

Non, tu ne peux pas avoir un tableau complet créé en dur et y insérer les données.

Je te signale d'ailleurs une erreur, dans la première boucle, tu ouvres un <td> au lieu d'un <tr> avant d'y ajouter les cellules.

Ton tableau se construit dynamiquement et c'est la solution à ta question : On parcourt chaque ligne de données et on crée une ligne du tableau HTML. On insère le tout dans le code HTML du tableau lui-même, exactement comme tu viens de le montrer.

Maintenant, peut-être que le résultat n'est pas exactement ce que tu espérais : dans ce cas, il manque des informations pour que je puisse te guider vers la solution : tu veux ajouter quoi ?

 
Par DenisACF01  -  Le 06/08/2014 09:59  -  Haut de page  - 

donc si je comprend bien mon tableau en dur je le supprime et je dois simplement rendre le tableau qui s'affiche avec un titre et les noms de mes colonnes et ajouter des couleurs à mes cellules ?

 
Par Cyrano  -  Le 06/08/2014 10:13  -  Haut de page  - 

Absolument.

C'est l'idée générale, tu as des données stockées quelque part et tu construis dynamiquement ton tableau HTML. Si les données sont modifiées par ailleurs, tu n'a pas à toucher à quoique ce soit d'autre, le tableau HTML sera alors automatiquement mis à jour.

Ceci dit, tu peux éviter d'imbriquer une seconde boucle dans la première en utilisant les index : dans le premier foreach, tu inscris ainsi foreach($connect as $ligne) où $ligne est un tableau, tu as donc $ligne['index_colonne_1'], $ligne['index_colonne_2'], etc... (remplace index_colonne_1 par le véritable index bien sur)

Tu peux aussi utiliser une syntaxe qui à mon sens est plus claire et surtout plus facile à lire et à utiliser, la syntaxe HEREDOC. Voilà ce que ça pourrait donner :

    <?php  
    /**  
     * Construction d'un tableau HTML dynamiquement  
     */  
    $sTableau  = <<<CODE_HTML  
        <table>  
          <thead>  
            <tr>  
              <th>Colonne 1</th>  
              <th>Colonne 2</th>  
              <th>Colonne 3</th>  
              <th>Colonne 4</th>  
            </tr>  
          </thead>  
          <tbody>  

    CODE_HTML;  
    foreach($connect as $ligne):  
    $sTableau .= <<<CODE_HTML  
            <tr>  
              <td>{$ligne['index_colonne_1']}</td>  
              <td>{$ligne['index_colonne_1']}</td>  
              <td>{$ligne['index_colonne_1']}</td>  
              <td>{$ligne['index_colonne_1']}</td>  
            </tr>  

    CODE_HTML;  
    endforeach;  
    $sTableau .= <<<CODE_HTML  
          </tbody>  
        </table>  

    CODE_HTML;  
    echo($sTableau);  

Ajuste les libellés des en-têtes de colonnes (cellules <th> dans la partie <thead>). Je précise d'ailleurs, que cette manière de découper le tableau avec un thead et un tbody peut te permettre d'ajuster les styles CSS plus facilement.

Essaye ça et reviens si tu as des interrogation ou un dysfonctionnement quelque part.

 
Par DenisACF01  -  Le 06/08/2014 10:24  -  Haut de page  - 

ok j'essais merci ;-)

 
Par DenisACF01  -  Le 06/08/2014 10:52  -  Haut de page  - 

Parse error: syntax error, unexpected '<' in

juste a
$sTableau = <<<CODE_HTML
<table> <===ici l'erreur
<thead>

 
Par Cyrano  -  Le 06/08/2014 10:55  -  Haut de page  - 

Fais voir ton code tel que tu l'as écrit.

 
Par DenisACF01  -  Le 06/08/2014 10:59  -  Haut de page  - 

<HEAD>
<meta http-equiv='refresh' content='60;url='http://localhost/Server_Statut.php/'>

    </HEAD>  



    <?php  


    $bdd = NEW PDO('mysql:host=localhost;dbname=server_statut','root','MDP', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));  




    $url="http://aventureclub-airlines.fr/whazzup/whazzup.txt";  
    $file = file($url);  
    $connect = array();  

    foreach ($file as $line) {  
       $line = trim($line);  
    if(preg_match("/([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)/", $line, $matches)){  
    $connect[] = array($matches[2], $matches[3],  $matches[12], $matches[14] );  
    }  
    }  

    echo '<table>';  
    foreach ($connect as $ligne) {  
       echo '<tr>';  
       foreach ($ligne as $value) {  
          echo '<td>'. htmlspecialchars ($value) . '</td>';  
       }  
       echo '</tr>';  
    }  
    echo '</table>';  




    $sTableau  = <<<CODE_HTML    
            <table>    
              <thead>    
                <tr>    
                  <th>Callsign</th>    
                  <th>Name</th>    
                  <th>Départ</th>    
                  <th>Arrivée</th>    
                </tr>    
              </thead>    
              <tbody>    

        CODE_HTML;    
        foreach($connect as $ligne):    
        $sTableau .= <<<CODE_HTML    
                <tr>    
                  <td>{$ligne['2']}</td>    
                  <td>{$ligne['3']}</td>    
                  <td>{$ligne['12']}</td>    
                  <td>{$ligne['14']}</td>    
                </tr>    

        CODE_HTML;    
        endforeach;    
        $sTableau .= <<<CODE_HTML    
              </tbody>    
            </table>    

        CODE_HTML;    
        echo($sTableau);     



    ?>
 
Par Cyrano  -  Le 06/08/2014 12:18  -  Haut de page  - 

Ok, alors un truc propre à la syntaxe HEREDOC : d'abord, je te suggère de regarder dans la documentation de PHP sur ce sujet particulier, ensuite, un détail très important est que le délimiteur de fin doit impérativement être en début de ligne, et ne doit être précédé d'aucun espace, et il doit être obligatoirement suivi d'un retour de chariot.

On va corriger un peu ton code en commençant par commenter le premier tableau. Essaye de bien suivre le déroulement du code pour bien comprendre ce qui se passe au fur et à mesure et à quoi correspond tel ou tel élément :

      <head>  
        <meta http-equiv='refresh' content='60;url='http://localhost/Server_Statut.php/'>  
      </head>  
    <?php  
    $bdd = NEW PDO('mysql:host=localhost;dbname=server_statut','root','MDP', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));  

    $url="http://aventureclub-airlines.fr/whazzup/whazzup.txt";  
    $file = file($url);  
    $connect = array();  

    foreach ($file as $line)  
    {  
        $line = trim($line);  
        if(preg_match("/([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)/", $line, $matches))  
        {  
            $connect[] = array($matches[2], $matches[3],  $matches[12], $matches[14] );  
        }  
    }  

    // echo '<table>';  
    // foreach ($connect as $ligne)  
    // {  
    //     echo '<tr>';  
    //     foreach ($ligne as $value)  
    //     {  
    //         echo '<td>'. htmlspecialchars ($value) . '</td>';  
    //     }  
    //     echo '</tr>';  
    // }  
    // echo '</table>';  

    $sTableau  = <<<CODE_HTML  
            <table>  
              <thead>  
                <tr>  
                  <th>Callsign</th>  
                  <th>Name</th>  
                  <th>Départ</th>  
                  <th>Arrivée</th>  
                </tr>  
              </thead>  
              <tbody>  

    CODE_HTML;  
    foreach($connect as $ligne):  
        $callsign   = htmlspecialchars($ligne[0]);  
        $name       = htmlspecialchars($ligne[1]);  
        $depart     = htmlspecialchars($ligne[2]);  
        $arrivee    = htmlspecialchars($ligne[3]);  
        $sTableau .= <<<CODE_HTML  
                <tr>  
                  <td>{$callsign}</td>  
                  <td>{$name}</td>  
                  <td>{$depart}</td>  
                  <td>{$arrivee}</td>  
                </tr>  

    CODE_HTML;  
    endforeach;  
    $sTableau .= <<<CODE_HTML  
    </tbody>  
    </table>  

    CODE_HTML;  
    echo($sTableau);  
    ?>  

Essaye à nouveau et reviens avec le résultat.

 
Par DenisACF01  -  Le 06/08/2014 12:48  -  Haut de page  - 

j'ai cette erreur qui revient
Parse error: syntax error, unexpected '<<' (T_SL) in D:\Program Files (x86)\wamp\www\Server_Statut.php on line 32

ligne32-> $sTableau = <<<CODE_HTML

 
Par Cyrano  -  Le 06/08/2014 13:11  -  Haut de page  - 

Ça, c'est beaucoup moins normal... quelle version de PHP as-tu ?

Comme je soupçonne que tu fais du copier/coller, as-tu pensé à tout ramener à gauche de façons à ce que les lignes de code ne commencent pas par des espaces, à l'exception de l'indentation normale du code ?

 
Par DenisACF01  -  Le 06/08/2014 13:25  -  Haut de page  - 

je travail en localhost et j'utilise le php5.5.12

et le code est bien tout à gauche

 
Par Cyrano  -  Le 06/08/2014 13:53  -  Haut de page  - 

Bizarre.

Je te remets le code un peu nettoyé, copie-le, colle-le et ramène l'ensemble du code de 4 espaces vers le coté gauche de façona ce qu'il soit strictement semblable à ce qui est affiché ici :

  <head>
    <meta http-equiv='refresh' content='60;url='http://localhost/Server_Statut.php/'>
  </head>
<?php
$bdd  = NEW PDO('mysql:host=localhost;dbname=server_statut','root','MDP', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
$url  = "http://aventureclub-airlines.fr/whazzup/whazzup.txt";
$file = file($url);
$connect = array();
foreach ($file as $line)
{
    $line = trim($line);
    if(false != preg_match("/([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)\:([^:]+)/", $line, $matches))
    {
        $connect[] = array(
            $matches[2],
            $matches[3],
            $matches[12],
            $matches[14]
        );
    }
}

/**
 * Ouverture du tableau HTML
 */
$sTableau  = <<<CODE_HTML
        <table>
          <thead>
            <tr>
              <th>Callsign</th>
              <th>Name</th>
              <th>Départ</th>
              <th>Arrivée</th>
            </tr>
          </thead>
          <tbody>

CODE_HTML;

/**
 * Construction des lignes du tableau
 */
foreach($connect as $ligne):
    $callsign   = htmlspecialchars($ligne[0]);
    $name       = htmlspecialchars($ligne[1]);
    $depart     = htmlspecialchars($ligne[2]);
    $arrivee    = htmlspecialchars($ligne[3]);
    $sTableau .= <<<CODE_HTML
            <tr>
              <td>{$callsign}</td>
              <td>{$name}</td>
              <td>{$depart}</td>
              <td>{$arrivee}</td>
            </tr>

CODE_HTML;

endforeach;

/**
 * Fermeture du tableau HTML
 */
$sTableau .= <<<CODE_HTML
          </tbody>
        </table>

CODE_HTML;

/**
 * Affichage du tableau HTML
 */
echo($sTableau);
?>

Ensuite, tente de faire afficher à nouveau pour vérifier si tu as toujours le même résultat. Il n'y a pas d'erreur de syntaxe, donc si ton environnement en retourne une, c'est qu'il y a une erreur dans la copie.

 
Par DenisACF01  -  Le 06/08/2014 14:07  -  Haut de page  - 

sa fonctionne bien juste les accents ' qui m...

Merci de ta patience
je te donnerais la suite de mon tableau*
merci encore

 
Par Cyrano  -  Le 06/08/2014 14:33  -  Haut de page  - 

Pour les accents, ça vient peut-être de l'emploi de htmlspecialchar.

J'ai repris ton code de départ, donc en gardant l'usage de cette fonction. Mais tu pourrais probablement supprimer ça. S'il y a un problème d'encodage, on pourra aborder le sujet par la suite.

 
Par DenisACF01  -  Le 06/08/2014 14:46  -  Haut de page  - 

Re bonjour, j'ai enfin réussi à obtenir mon script mais j'ai un petit souci impossible le lire toute la chaine de caractère! le dois récupérer une valeur mais j'ai une erreur offset
comment faire? merci

    $bdd     = NEW PDO('mysql:host=localhost;dbname=server_statut','root','', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));  
    $url     = "http://aventureclub-airlines.fr/whazzup/whazzup.txt";  
    $file    = file($url);  
    $connect = array();  
    foreach ($file as $line)  
    {  
        $line = trim($line);  
        if(false != preg_match("/([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+):([^:]+)/", $line, $matches))  
        {  
            $connect[] = array(  
                $matches[1],  
                $matches[2],  
                $matches[3],  
                $matches[12],  
                $matches[14],  
                $matches[10],  
                $matches[39],  
            );  
        }  
    }
 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |