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 :

Extraire les données des cellules d'un tableau html


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Extraire les données des cellules d'un tableau html
    Bonjour, j'espere ne pas me tromper d'endroit pour poster... si c'est le cas je m'en excuse (j'hesitai entre ici et 'php et base de donnée' mais comme je suis très debutant ce sera ici...bref!), je voudrais extraires les données de certaines cellules d'un tableau html et les ranger dans un 'array' php, pour me faciliter le travail pour ensuite les envoyer vers un Base de Données MySQL, voila je remercie les âmes charitables qui voudront bien m'aider, et celles qui m'ont déjà aidés...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour et bienvenu sur le forum,

    D'ou viennent les données qui composent le tableau HTML ?
    S'agit-il d'un tableau d'un site tiers sur lequel tu n'a pas la main ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    bonjour, "sur lequel je n'ai pas la main"... je ne suis pas sur de comprendre la question mais je pense que je pourrais répondre que si j'ai la main dessus mais je ne peux pas le modifier car il est généré automatiquement par un logiciel tiers... (j' espère que ça répond a ta question...) mais il y a un autre problème, c'est que ce code est généré (d'après mon humble avis de tout petit débutant un peu n'importe comment ...)!!

    si ça peut vous aider voila le code de la page ou se trouvent les tableaux!
    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
    <html><head>
     
     
     
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title>*******************************</title>
     
    </head><body>
     
    <h3>****************************</h3>
    <hr>
     
    <pre><tt>Dernière mise à jour : 2009-03-31 00:02:21.133</tt></pre>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">type_trafic</th></tr>
    <tr><td><tt>********************** </tt></td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">Date</th><th align="left">code_service</th><th align="left">nb de Conf.</th><th align="left">participants total</th><th align="left">participants moyenne</th><th align="left">participants Max</th><th align="left">cum_duree total</th><th align="left">cum_duree moyenne</th><th align="left">cum_duree Max</th></tr>
    <tr><td>L'instruction spécifiée n'a produit aucune donnée</td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">semaine</th><th align="left">code_service</th><th align="left">nb de Conf.</th><th align="left">participants total</th><th align="left">participants moyenne</th><th align="left">participants Max</th><th align="left">cum_duree total</th><th align="left">cum_duree moyenne</th><th align="left">cum_duree Max</th></tr>
    <tr><td>L'instruction spécifiée n'a produit aucune donnée</td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">type_trafic</th></tr>
    <tr><td><tt>Externe</tt></td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">Date</th><th align="left">code_service</th><th align="left">nb de Conf.</th><th align="left">participants total</th><th align="left">participants moyenne</th><th align="left">participants Max</th><th align="left">cum_duree total</th><th align="left">cum_duree moyenne</th><th align="left">cum_duree Max</th></tr>
    <tr><td><tt>20090323</tt></td><td><tt>RESA        </tt></td><td><tt>738</tt></td><td><tt>2990</tt></td><td><tt>4</tt></td><td><tt>27</tt></td><td><tt>8681498</tt></td><td><tt>11763</tt></td><td><tt>102207</tt></td></tr>
    <tr><td><tt>20090324</tt></td><td><tt>RESA        </tt></td><td><tt>578</tt></td><td><tt>2432</tt></td><td><tt>4</tt></td><td><tt>54</tt></td><td><tt>7534242</tt></td><td><tt>13035</tt></td><td><tt>298829</tt></td></tr>
    <tr><td><tt>20090325</tt></td><td><tt>RESA        </tt></td><td><tt>556</tt></td><td><tt>2104</tt></td><td><tt>3</tt></td><td><tt>26</tt></td><td><tt>6163576</tt></td><td><tt>11085</tt></td><td><tt>97260</tt></td></tr>
    <tr><td><tt>20090326</tt></td><td><tt>RESA        </tt></td><td><tt>579</tt></td><td><tt>2274</tt></td><td><tt>3</tt></td><td><tt>20</tt></td><td><tt>6980268</tt></td><td><tt>12055</tt></td><td><tt>86677</tt></td></tr>
    <tr><td><tt>20090327</tt></td><td><tt>RESA        </tt></td><td><tt>564</tt></td><td><tt>2208</tt></td><td><tt>3</tt></td><td><tt>17</tt></td><td><tt>6547708</tt></td><td><tt>11609</tt></td><td><tt>88909</tt></td></tr>
    <tr><td><tt>20090328</tt></td><td><tt>RESA        </tt></td><td><tt>15</tt></td><td><tt>64</tt></td><td><tt>4</tt></td><td><tt>10</tt></td><td><tt>135665</tt></td><td><tt>9044</tt></td><td><tt>19580</tt></td></tr>
    <tr><td><tt>20090329</tt></td><td><tt>RESA        </tt></td><td><tt>5</tt></td><td><tt>27</tt></td><td><tt>5</tt></td><td><tt>10</tt></td><td><tt>41016</tt></td><td><tt>8203</tt></td><td><tt>18828</tt></td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">semaine</th><th align="left">code_service</th><th align="left">nb de Conf.</th><th align="left">participants total</th><th align="left">participants moyenne</th><th align="left">participants Max</th><th align="left">cum_duree total</th><th align="left">cum_duree moyenne</th><th align="left">cum_duree Max</th></tr>
    <tr><td><tt>13</tt></td><td><tt>RESA        </tt></td><td><tt>3035</tt></td><td><tt>12099</tt></td><td><tt>3</tt></td><td><tt>54</tt></td><td><tt>36083973</tt></td><td><tt>11889</tt></td><td><tt>298829</tt></td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">type_trafic</th></tr>
    <tr><td><tt>Total Interne et Externe</tt></td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">Date</th><th align="left">code_service</th><th align="left">nb de Conf.</th><th align="left">participants total</th><th align="left">participants moyenne</th><th align="left">participants Max</th><th align="left">cum_duree total</th><th align="left">cum_duree moyenne</th><th align="left">cum_duree Max</th></tr>
    <tr><td><tt>20090323</tt></td><td><tt>RESA        </tt></td><td><tt>738</tt></td><td><tt>2990</tt></td><td><tt>4</tt></td><td><tt>27</tt></td><td><tt>8681498</tt></td><td><tt>11763</tt></td><td><tt>102207</tt></td></tr>
    <tr><td><tt>20090324</tt></td><td><tt>RESA        </tt></td><td><tt>578</tt></td><td><tt>2432</tt></td><td><tt>4</tt></td><td><tt>54</tt></td><td><tt>7534242</tt></td><td><tt>13035</tt></td><td><tt>298829</tt></td></tr>
    <tr><td><tt>20090325</tt></td><td><tt>RESA        </tt></td><td><tt>556</tt></td><td><tt>2104</tt></td><td><tt>3</tt></td><td><tt>26</tt></td><td><tt>6163576</tt></td><td><tt>11085</tt></td><td><tt>97260</tt></td></tr>
    <tr><td><tt>20090326</tt></td><td><tt>RESA        </tt></td><td><tt>579</tt></td><td><tt>2274</tt></td><td><tt>3</tt></td><td><tt>20</tt></td><td><tt>6980268</tt></td><td><tt>12055</tt></td><td><tt>86677</tt></td></tr>
    <tr><td><tt>20090327</tt></td><td><tt>RESA        </tt></td><td><tt>564</tt></td><td><tt>2208</tt></td><td><tt>3</tt></td><td><tt>17</tt></td><td><tt>6547708</tt></td><td><tt>11609</tt></td><td><tt>88909</tt></td></tr>
    <tr><td><tt>20090328</tt></td><td><tt>RESA        </tt></td><td><tt>15</tt></td><td><tt>64</tt></td><td><tt>4</tt></td><td><tt>10</tt></td><td><tt>135665</tt></td><td><tt>9044</tt></td><td><tt>19580</tt></td></tr>
    <tr><td><tt>20090329</tt></td><td><tt>RESA        </tt></td><td><tt>5</tt></td><td><tt>27</tt></td><td><tt>5</tt></td><td><tt>10</tt></td><td><tt>41016</tt></td><td><tt>8203</tt></td><td><tt>18828</tt></td></tr>
    </tbody></table>
    </p><hr>
     
    <p>
    </p><p><table border="1">
    <tbody><tr><th align="left">semaine</th><th align="left">code_service</th><th align="left">nb de Conf.</th><th align="left">participants total</th><th align="left">participants moyenne</th><th align="left">participants Max</th><th align="left">cum_duree total</th><th align="left">cum_duree moyenne</th><th align="left">cum_duree Max</th></tr>
    <tr><td><tt>13</tt></td><td><tt>RESA        </tt></td><td><tt>3035</tt></td><td><tt>12099</tt></td><td><tt>3</tt></td><td><tt>54</tt></td><td><tt>36083973</tt></td><td><tt>11889</tt></td><td><tt>298829</tt></td></tr>
    </tbody></table>
    </p><hr>
     
     
    </body></html>
    j'ai "mis au point" un bébé programme en php pour supprimer les <p> , mais je ne sais pas trop quoi en faire même sans les <p> ...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce que tu as besoin de recuperer dans ce barzouf ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Dans ce "barzouf" j'ai besoin de récupérer en particulier le dernier tableau et les données qui le constitue, puis d'autre peut etre mais normalement une fois la technique de récupération acquise je pense que je serais en mesure de récupéré les données qui m'interesse dans d'autre tableaux de la page... enfin j'espère ...

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour, et bienvenue,

    Comme Sabotage te l'a demandé ... tu veux faire quoi

    Tu as répondu, mais en fait je ne comprends toujour, rien, alors en te disant pourquoi, cela t' aidera sans doute toi même a y voir clair...

    Récupérer les données inscrites dans un HTML est pour moi impossible sauf avec javascripte et encore ! Mais surtout POUQUOI ?? puisque un html et son tableau a été écri "a la main" donc c'est toi qui y a mis les valeurs, donc tu les connais déjas !

    Seule autre possibilitée de fabiquer un tel HTML, c'est en PHP en relisant des données déjas stockées ....

    tu comprends notre étonnement

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut trouvé !!
    bon, alors d'abord merci pour votre aide à tous ! j'espere que je vais repondre à vos questions:
    Les tableaux html en questions sont générés par un programme qui fait des statistiques (que je ne connais pas) et je dois récupérer les données pour pouvoir plus tard les récupérer en fonction par exemple de la date etc...

    et voila le code php que j'utilise pour faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $tableau='tableau1.html';
    $fh=fopen($tableau,'rb');
    $codehtml=fread($fh,filesize($tableau));
    fclose($fh);
    $reg='/<tt>(?<cell>.[^<\/tt>]*)<\/tt>/';
    preg_match_all($reg,$codehtml,$cellules);
    var_dump($cellules['cell']);
    ?>
    explications: je me sert des balises <tt> comme repère pour extraction... puis pour les ranger dans un array(php) !!
    j'espère que ce code servira à d'autre (je serais content de pouvoir aider avec mon mini niveau!!!)

    maintenant je dois trier les données récupérées !

    je dois un énorme merci à SPACEFROG du chat qui est mon sauveur et à qui le mérite reviens...

  8. #8
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par taz82000 Voir le message
    bon, alors d'abord merci pour votre aide à tous !
    ....
    j'espère que ce code servira à d'autre (je serais content de pouvoir aider avec mon mini niveau!!!)
    Whaou super, en tout cas surtout passes réguliérement ici, car si tu écris :
    je serais content de pouvoir aider saches que ceux qui posent des questions attendent d'autres visiteurs qui répondent quand ils savent


    Donc bienvenue au club

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    Peut-être que le sujet à été résolu mais je dirais qu'il faut utiliser des xpath ton document html (j'espère pour toi qu'il est valide xml).

    En effet, tu crée correctement des xsl puis tu utilises une classe qui s'appelle XsltProcessor et normalement,ça se fait bien et c'est facile à entretenir/modifier/...


    Cordialement,
    Patouche

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

Discussions similaires

  1. [CSS 2] Ajustement de la taille des cellules d'un tableau HTML
    Par malikoo dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/04/2011, 12h46
  2. Echanger les données de cellules d'un tableau généré en PHP
    Par jean1190 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/04/2009, 13h36
  3. [Données] Extraire les données des dossiers publics (SQL ?)
    Par Commodore dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 26/02/2008, 16h22
  4. Fixer la taille des cellules dans un tableau HTML ?
    Par bilou95 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/03/2007, 16h10
  5. [VBA-E]Extraire les infos des cellules
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/04/2006, 09h46

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