Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie danych z tabelki html
knypraca
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

Ostrzeżenie: (0%)
-----


Witam!

Chciałbym uzyskać pomoc przy napisaniu skryptu, który pobierze dane z tabeli html, wrzuci je do bazy mysql, a następnie wyświetli w lekko zmienionej formie.
Skrypt html wygląda następująco:
  1. <table rules="all" bgcolor="#DDEEFF" border="2" cellpadding="=&quot;5&quot;">
  2. <tr align="center" bgcolor="#CCDDEE">
  3. <td><b>Probe number</b></td>
  4. <td><b>Alias</b></td>
  5. <td><b>Measurement time</b></td>
  6. <td><b>Probe type</b></td>
  7. <td><b>Measurement 1</b></td>
  8. <td><b>Measurement 2</b></td>
  9. <td><b>Measurement 3</b></td>
  10. </tr>
  11.  
  12. <tr><td>1</td><td>tlen</td><td>2014-11-02 11:37:35</td><td>PROBE_TYPE_DO</td><td>12.1 mg/L</td><td>98.8 %sat</td><td>6.6 °C</td></tr>
  13.  
  14. <tr><td>2</td><td>Ph</td><td>2014-11-02 11:37:35</td><td>PROBE_TYPE_PH</td><td>7.19 pH</td></tr>
  15.  

W jaki sposób pobrać te dane aby były ładnie poukładane w bazie mysql - w sensie każda kolumna osobno?
Trochę poczytałem i najpierw używam funkcji file_get_contents, natomiast dalej preg_match - niestety to drugie to dla mnie czarna magia.
Czy mógłby mi ktoś z tym pomóc, doradzić? Byłbym wdzięczny (IMG:style_emoticons/default/smile.gif)

Pozdrawiam

Witam ponownie!
Stworzyłem już coś, jednak poprosiłbym o naprowadzenie. Dlaczego :
  1. <?php
  2. $info = file_get_contents("http://30.30.3.70/index.html");
  3. preg_match('|<tr><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td></tr><tr><td>(.*)</td>|Ui',$info,$result);
  4. echo("<br>");
  5. echo("<table align='center' border='1'><tr><td>Nazwa sondy</td><td>Czas poboru danych</td><td>Dane 1</td><td>Dane 2</td></tr>
  6. <tr><td>$result[2]</td><td>$result[3]</td><td>$result[5], ($result[6])</td><td>$result[8]</td></tr>
  7. </table>");

to nie działa, natomiast to:
  1. <?php
  2. $info = file_get_contents("http://30.30.3.70/index.html");
  3. preg_match('|<tr><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td><td>(.*)</td>|Ui',$info,$result);
  4. echo("<br>");
  5. echo("<table align='center' border='1'><tr><td>Nazwa sondy</td><td>Czas poboru danych</td><td>Dane 1</td><td>Dane 2</td></tr>
  6. <tr><td>$result[2]</td><td>$result[3]</td><td>$result[5], ($result[6])</td><td>$result[7]</td></tr>
  7. </table>");

już tak? Gdzie robię błąd?

Ten post edytował knypraca 9.11.2014, 17:39:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
NickOver
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Ponieważ w przykładzie który podałeś dałeś za dużo (.*)?
Go to the top of the page
+Quote Post
knypraca
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

Ostrzeżenie: (0%)
-----


Nie, skrypt chodzi dobrze.
Jakby ktoś miał podobny problem to chodziło o białe znaki. Wystarczyło wstawić \s+
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 01:00