moi!!
ois tekstitiedoston kans ongelma... miten saisin tekstitiedostosta tiedot taulukkoon
eli tekstitiedostosta pätkä:
VALMKOODI;TUOTEKOODI;TUOTE;MENEKKITUOTE;HINTAALV0;VARASTO;
SEURAAVAERA;WWW;HINTAALV;VALMISTAJA;TUOTERYHMA;LAATIKKOKOKO;
LISÄTIEDOT
tiedost on noin ; eroteltuna, ja mun pitäis saada ne taulukkoon siten et
koodi ois ulospäin jotensakki näin:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="fi"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> <head> <body dir="ltr"> <br> <table border="0" cellpadding="2" cellspacing="2" width="100%"> <tbody> <tr> <td>Valmkoodi</td> <td>tuotekoodi</td> <td>tuote</td> <td>menekkituote</td> <td>hintaalv0</td> <td>varasto</td> </tr> <tr> <td>00003590257</td> <td>eet30558jf</td> <td>testi</td> <td>on</td> <td>587€</td> <td>15 kpl</td> </tr> <tr> <td>350098502</td> <td>test325er</td> <td>testi2</td> <td>ei</td> <td>645€</td> <td>57 kpl</td> </tr> </tbody> </table> </body> </html>
tossa ois niinku miten pitäis saada ja mä oon koittanu saada mut ei oikee tuu nyt mitään tosta hommasta....
Regular Expressioneilla, eli säännöllisillä lausekkeilla onnistuu. Opas aiheesta löytyy putkasta.
Tuossa vielä valmis regexp:
/<td>([^<]*)<\/td>/
Suosittelen opettelemaan php:tä. Helppo oppia. Opas löytyy näiltä sivuilta.
regexp ei toiminut halutulla tavalla, joten miten minä sillä saan about. pari miljoonaa merkkiä pitkän tiedoston jaoteltua taulukoksi....????
Ahaa, ymmärsin väärin kysymyksesi, kun luin sen niin hätäisesti. Eli tuollainen pitäisi saada generoitua...
Tuollaisen ; erotellut tekstitiedon saa pätkittyä php:llä explode-funktiolla. PHP:n manuaalista löytyy aika tyhjentävät esimerkit:
https://www.php.net/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="fi"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> <head> <body dir="ltr"> <br> <table border="0" cellpadding="2" cellspacing="2" width="100%"> <tbody> <tr> <td>Valmkoodi</td> <td>tuotekoodi</td> <td>tuote</td> <td>menekkituote</td> <td>hintaalv0</td> <td>varasto</td> </tr><?php $tiedosto = file ( "tiedosto.txt" ); foreach ( $tiedosto as $rivi ) { $tiedot = explode ( ";", $tiedosto ); ?> <tr> <td><?= $tiedot[0]; ?></td> <td><?= $tiedot[1]; ?></td> <td><?= $tiedot[2]; ?></td> <td><?= $tiedot[3]; ?></td> <td><?= $tiedot[4]; ?></td> <td><?= $tiedot[5]; ?></td> </tr> <? } ?> </tbody> </table> </body> </html>
Magig eye:n koodi näyttäs hyvältä muuten, mut huomasin virheen, eli eikö toi koodi kuuluis olla näin(huom.. tässä vaan koodin loppuosa):
<?php $tiedosto = file ( "tiedosto.txt" ); foreach ( $tiedosto as $rivi ) { $tiedot = explode ( ";", $tiedosto ); } ?> <tr> <td><?= $tiedot[0]; ?></td> <td><?= $tiedot[1]; ?></td> <td><?= $tiedot[2]; ?></td> <td><?= $tiedot[3]; ?></td> <td><?= $tiedot[4]; ?></td> <td><?= $tiedot[5]; ?></td> </tr> </tbody> </table> </body> </html>
ja sit tossa tulee virheilmoitus:
Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Notice: Array to string conversion in D:\www\testi\hinnasto\hinnasto.php on line 26 Valmkoodi tuotekoodi tuote menekkituote hintaalv0 varasto Array Notice: Undefined offset: 1 in D:\www\testi\hinnasto\hinnasto.php on line 31 Notice: Undefined offset: 2 in D:\www\testi\hinnasto\hinnasto.php on line 32 Notice: Undefined offset: 3 in D:\www\testi\hinnasto\hinnasto.php on line 33 Notice: Undefined offset: 4 in D:\www\testi\hinnasto\hinnasto.php on line 34 Notice: Undefined offset: 5 in D:\www\testi\hinnasto\hinnasto.php on line 35
Kyllä tuo Magic Eyen koodi oli ihan oikein ja sinun versiosi siitä väärin...
<? } ?>
Sori, tein nopeasti, oikea:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="fi"> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title> <head> <body dir="ltr"> <br> <table border="0" cellpadding="2" cellspacing="2" width="100%"> <tbody> <tr> <td>Valmkoodi</td> <td>tuotekoodi</td> <td>tuote</td> <td>menekkituote</td> <td>hintaalv0</td> <td>varasto</td> </tr><?php $tiedosto = file ( "tiedosto.txt" ); foreach ( $tiedosto as $rivi ) { $tiedot = explode ( ";", $rivi ); ?> <tr> <td><?= $tiedot[0]; ?></td> <td><?= $tiedot[1]; ?></td> <td><?= $tiedot[2]; ?></td> <td><?= $tiedot[3]; ?></td> <td><?= $tiedot[4]; ?></td> <td><?= $tiedot[5]; ?></td> </tr> <? } ?> </tbody> </table> </body> </html>
<? } ?>
siis pitääkö toi koodiki olla tossa ku se heittää siitä erroria....????
Sul ei varmaan ole short_tags päällä sun php:ssä, joten muuta
<?
muotoon
<?php
ja
<?= $tiedot[x]; ?>
muotoon
<?php echo $tiedot[x]; ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.