Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: plik txt (lub csv) i kolory
Forum PHP.pl > Forum > PHP
kasa80
witam!

szukalem tego na forum ale nie znalazlem sad.gif
mam plik .txt:

4.5, 3.6, 12.4|kotek|
36.6, 34.2, 2.3,|piesek|

odczytuje te dane poleceniem fgercsv (manual) i jest ok
ale chciałbym dodatkowo aby z pliku .txt np. 34.2 i 12.4 bylo wyswietlone w kolorze czerwonym. probowalem stworzyc funkcje red($l) - dzialala - ale kiedy w pliku .txt ja umiescilem

4.5, 3.6, red(12.4)|kotek|
36.6, 34.2, 2.3,|piesek|

to nie bylo rezultatu jakiego bym sie spodziewal sad.gif

czy zna ktos sposob na rozwiazanie tego problemu. wszelkie pomysly mile widziane. dzieki z gory za pomoc
kasa80
wykombinowalem cos takiego:
plik .csv

*4.50, 6.10, *7.24, 16.04|Radom|4.50, 6.10, 7.24, 16.04
5.06, *13.45|Warszawa|1.50, 4.12, 7.34, 16.04
7.29, 8.58, *13.31|Dęblin|7.29, 8.58, 14.32
14.14, *17.28|Lublin|14.14, 17.58

plik .php:

[php:1:cb68141cbe]<?php
$a = 0;
$c = 0;
$red = "*";
$fp = fopen ("plik.csv","r");
while ($data = fgetcsv ($fp, 1000, "|")) {
$d = count ($data);
for ($c=0;$c<=$d;$c++){
$godz = split(" ",$data[$c]);
$b = count($godz);
for ($a=0;$a<=$b;$a++){
if(substr($godz[$a],0,1)==$red){
$kolor = "#ff0000";
}else{
$kolor = "#000000";
}
echo "<span style="color: ".$kolor."">".$godz[$a]." </span>";
}
}
echo "<br>";
}
fclose ($fp);
?>[/php:1:cb68141cbe]

troche chaotyczne ale działa. moze ktos ma lepsze rozwiazanie??
drugie pytanie jak umiescic dane z godzinami w jednej kolumnie tabeli nazwy miejscowosci w drugiej kol. i kolejne godziny w 3 kol.questionmark.gif czekam na propozycje.
adwol
Cytat
ale chciałbym dodatkowo aby z pliku .txt np. 34.2 i 12.4 bylo wyswietlone w kolorze czerwonym. probowalem stworzyc funkcje red($l) - dzialala - ale kiedy w pliku .txt ja umiescilem

4.5, 3.6, red(12.4)|kotek|
36.6, 34.2, 2.3,|piesek|

A może tak parę słów, jak wygląda wynik działania skryptu? Bo od tego zależy sposób przedstawienia koloru.

Szkic rozwiązania dla HTMLa:
[php:1:f94dc768dd]<?php
$s = preg_replace('|red((.*?))|', '<div style="color: #ff0000">1</div>', $s);
?>[/php:1:f94dc768dd]
oczywiście już po rozbiciu danych na składowe (ale to, jak pisałeś, działa Ci).
adwol
Cytat
drugie pytanie jak umiescic dane z godzinami w jednej kolumnie tabeli nazwy miejscowosci w drugiej kol. i kolejne godziny w 3 kol.questionmark.gif czekam na propozycje.

Możesz to dokładniej wyjaśnić bo nie rozumiem co chcesz osiągnąć. Przecież w tym przykładowym kawałku CSVa który pokazałeś tak właśnie jest.
kasa80
dzieki za odpowiedz!
to ma byc tabela z rozkaldem jazdy. dane sa pobierane z pliku txt (csv). skrypt ma dzialac tak:

odjazdy|miejscowosc|przyjazdy

plik txt:

12.34, 14.53, 19.02|Kraków|8.36, 9.40, 21.30
... itd

przykładowo pociag pospieszny z Krakowa jest o 9.40 i chcialbym to zaznaczyc w tym rozkladzie kolorem czerwonym.
a jesli chodzi o umieszczenie to w tabeli (html) to tylko dlatego aby to bylo przejrzyste:

---------------------------------------
| odjazdy | miejsc. | przyjazdy |
-----------------------------------------
| 12.34, | Kraków | 8.36, 9.40, |
-----------------------------------------
... itd

skrypt mialby generowac taka tabele na podstawie pobranych danych z pliku txt

wydaje mi sie ze moj kod nie jest efektowny (jestm poczatkujacy) dlatego czekam i mam prosbe o propozycje co do tego rozwiazania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.