Autor Zpráva
Freedas
Profil *
Ahojte, potřeboval bych načíst na web data oddělené středníkem (např. txt) do tabulky. Nevítě někdo, jak na to?
michaelkiller
Profil
Hmmm, tak ja som to v PHP nikdy nerobil.
Ale poviem ti algoritmus, ktory by mal fungovat, len to musis prepisat do PHPcka.
V pascale mi to fungovalo.

Zacnes proste nacitavat CHAR(ZNAK) a pridavat ho postupne do STRINGU(RETAZCA) pokial nenarazis v subore na ;. Takto pokracujes dalej, az prides na koniec riadka, skocis do noveho .....
Dufam, ze to bude fungovat, v PASCALE mi to tak slo :D
halogan
Profil
Freedas: explode(";", $string);
Freedas
Profil *
to halogan: muzes mi,prosim, poslat nejaky jednoduchy priklad. divam se na explode v Koskově PHP, ale moc to nechapu
Charlie
Profil
Freedas,
je to jednoduchy. Funkce explodde ti vytvori pole. Priklad:

<?php
$string = "a;b;c";
$pole = explode(";",$string);

echo $pole[0]; // Vypise "a"
echo $pole[1]; // Vypise "b"
echo $pole[2]; // Vypise "c"

?>
Leo
Profil
Na to se hodi v PHP fce fgetcsv - pripominam, ze CSV je comma separated values - tedy carkou oddelene hodnoty, akorat vy mate misto nich strednik :-)

$fp = fopen("data.csv","r");
echo "<table>\n";
while ($radek = fgetcsv ($fp, 1000, ";")) {
echo "<tr>";
$pocetsloupcu = count($radek);
for ($i=0;$i<pocetsloupcu;$i++) echo "<td>{$radek[$i]}</td>";
echo "</tr>\n";
}
echo "</table>\n";
fclose($fp);

Nejak tak, je to jen princip, zadnu oslnivy kod.

Leo
Freedas
Profil *
jj, díky napsal jsem to nakonec takhle:

$fd = fopen ("vysledky/zavod_$id.csv", "r");
while (!feof ($fd)) {
$pole = explode(";",fgets($fd, 4096));
echo "<tr><td><b>".$pole[1];
echo " ".$pole[0]."</b></td>";
echo "<td>".$pole[2]."</td>";
echo "<td>".$pole[3]."</td>";
echo "<td>".$pole[4]."</td>";
echo "<td><b>".$pole[5]."</b></td></tr>\n";
}
fclose ($fd);

Anonymní
Profil *
A co kdyby byl jako další hodnota uvedenej středník asi takto:
$string = "a;b;c;";"";

Ten středník, kterej chci dostat jako proměnnou je v uvozovkách.
Leo
Profil
A co treba

http://cz.php.net/manual/cs/function.fgetcsv.php

Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.

0