Zadejte hledaný výraz...

Html tabulka do MySQL

Michal Pešat
verified
rating uzivatele
(2 hodnocení)
15. 8. 2011 21:59:30
Ahoj, chtěl bych se poradit, jakým způsobem převést html tabulku do MYSQL databáze?
Jedná se opravdu o jednoduchou tabulku o 5 sloupcích a ten první řádek bych potřeboval smazat.
Měl jsem tohle :
list($tmp_1, $tmp_2) = explode('', $input);
list($output) = explode('', $tmp_2);
echo $output;
Ale to vypíše jenom první řádek, nedalo by se to naroubovat nějak na cyklus?
Díky moc za tipy a řešení, která určitě někdo již používá, ale já je už 2. den na google nenacházím ve funkční podobě :)
15. 8. 2011 21:59:30
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667113
Čeho chceš vlastně dosáhnout? Máš HTML a z ní chceš vytahat obsah buněk a ten pak vložit do databáze?
15. 8. 2011 22:17:47
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667112
Michal Pešat
verified
rating uzivatele
(2 hodnocení)
15. 8. 2011 22:27:22
jojo, přesně tak :) vložit obsah buněk do tabulky MySQL :)
15. 8. 2011 22:27:22
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667111
1. Zparsovat HTML, asi nejlépe pomocí regulárních výrazů, nebo nějakých stringových funkcí (v PHP nedělám, takže detaily neporadím)
2. Použít získaná data a vložit do tabulky pomocí INSERT příkazu (např. INSERT INTO tabulka (nazev_sloupce1, nazev_sloupce2, ...) VALUES (hodnota1, hodnota2, ...)
15. 8. 2011 22:55:44
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667110
Převádět data z HTML tabulky do databáze je přinejmenším neobvyklé. Nemáte ta data k dispozici třeba v Excelu? CSV se dá lehce importovat do DB.
15. 8. 2011 23:45:33
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667109
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
16. 8. 2011 00:15:34
mimochodem i kdyby jste neměl data v excelu, tak je lze lehce vložit pomocí ctrl+c a ctrl+v
a poté postupovat podle Martina Schlemmera
16. 8. 2011 00:15:34
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667108
Michal Pešat
verified
rating uzivatele
(2 hodnocení)
16. 8. 2011 06:28:41
Bohužel to nepřipadá v úvahu, chci to spouštět cronem... Mám k dispozici jenom html tabulku, postacil by i funkční převod do CSV nebo XML :)
---------- Příspěvek doplněn 16.08.2011 v 06:30 ----------
Zkusím tohle, vypadá to dobře :) http://www.phpclasses.org/browse/file/25736.html
16. 8. 2011 06:28:41
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667107
trosa
verified
rating uzivatele
(4 hodnocení)
16. 8. 2011 07:48:48
sice velmi omezene, ale pokud jste to zkousel pres explode, pak oprava Vaseho puvodniho kodu:
$tabulka="
12
ab
cd
910
";
$rows=explode("",$tabulka);
foreach($rows as $row)
{
$items=explode("",$row);
$line=Array();
foreach($items as $item)
{
$item=strip_tags($item);
if ($item) $line[]=$item;
}
if (!count($line)) continue;
print_r($line); echo "n";
}
vysledek:
Array
(
=> 1
=> 2
)
Array
(
=> a
=> b
)
Array
(
=> c
=> d
)
Array
(
=> 9
=> 10
)
16. 8. 2011 07:48:48
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667106
duben
verified
rating uzivatele
(49 hodnocení)
16. 8. 2011 12:36:22
Napsal Martin Schlemmer;690009
Převádět data z HTML tabulky do databáze je přinejmenším neobvyklé. Nemáte ta data k dispozici třeba v Excelu? CSV se dá lehce importovat do DB.
Zase tak neobvyklé to myslím není. Pokud chceš "krást" obsah třeba pro sledování cen konkurence, nebo ti dodavatel zboží řekne máme to na webu tak si to stáhněte a tam to má jen v HTML formátu. Pak nezbývá nic jiného než rozparsovat HTML do pole a z toho to uložit do DB. Problém by mohl nastat při hodně velkých tabulkách. Ale tam bude mít větší problémy prohlížeč při rozbrazení, takže pak by ty data nešly ani moc na webu.
Řešení je klasika přes textové stringy, v CRONU použít file_get_contents pro načtení HTML, najít začátek tabulky pomocí jednoznačného stringu, a konec dané tabulky, pomocí explode to pak celé rozparsovat odstranit HTML značky, uložit do pole a pak v cyklu jednotlivé řádky uložit do databáze.
Sice to není extra hezký nebo rychlý kód, ale nic moc jiného se s takovýmle datovým zdrojem dělat nedá, pokud to má řešit robot. Pro ruční řešení je ideální to CTRL+V do Excelu, a pak importovat CSV do tabulky.
16. 8. 2011 12:36:22
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667105
Pokud člověk dělá crawler nebo scraper, pak samozřejmě ano. Ale jednorázově převádět data z HTML do SQL se často nevidí.
16. 8. 2011 12:41:37
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667104
Michal Pešat
verified
rating uzivatele
(2 hodnocení)
17. 8. 2011 07:32:33
Ano, je to tenhle případ , díky. Tabulku mám uz stazenou a uloženou čistou. To jsem zmakl, problém nastal přímo s tím importem, ma to vždycky asi jenom 30-40 položek, tak si myslím, že to bude ok :) díky za rady všem :)
17. 8. 2011 07:32:33
https://webtrh.cz/diskuse/html-tabulka-do-mysql/#reply667103
Pro odpověď se přihlašte.
Přihlásit