![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Mam następujący problem który mimo przeszukania u wujka Googla nie udaje się rozwiązać Próbuję napisać klasę która by pobierała raporty .csv z programu Vatowiec i następnie wyświetlała wyniki na stronie www. Raporty różnią się ilością kolumn i ich nazwami . Aby rozwiązać ten problem należałoby , jak sądzę , skorzystać z instrukcji list . Już udało mi się doprowadzić do sytuacji w której otrzymuje przedzielone przecinkami wyrazy 1 wiersza np Lp , Nazwa , Typ ... itd . Mój problem polega na tym że nie potrafię dołączyć znaku zmiennej $ do uzyskanych wyrazów tak aby uzyskać formę list($lp,$Nazwa........) .Wykorzystanie implode i eval nie dało rezultatu . Będę wdzięczny za jakieś sugestie |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym za pomocą explote() rozbiła ten ciąg względem przecinków uzyskując tablicę z nazwami zmiennych a następnie użyła choćby array_flip() żeby nazwy zmiennych stały się kluczami tablicy. Jeśli nie lubisz tablic to notacja z podwójnym znakiem $ powinna Cię zadowolić
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym za pomocą explote() rozbiła ten ciąg względem przecinków uzyskując tablicę z nazwami zmiennych a następnie użyła choćby array_flip() żeby nazwy zmiennych stały się kluczami tablicy. Jeśli nie lubisz tablic to notacja z podwójnym znakiem $ powinna Cię zadowolić Explode zastosowałem już wcześniej ale położyłem się na "dalszym ciągu " .Dziękuję za odpowiedź . Biorę się do testów rozwiązań aby przekonać się które działa szybciej. Raporty są kolosalne więc czas odgrywa rolę Niestety . wypróbowałem oba rozwiązania . Oba są dobre , ale nie pasują do mojego problemu . Potrzebuje po lewej stronie LIST NAZW zmiennych ( czyli $cos, $costam) a nie ich WARTOŚCI koniecznie ze znakiem $ . Każdorazowa próba dołączenia znaku dolara kończy się tym że owszem dołącza ale z przerwą pomiędzy nazwą zmiennej a $ . |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niestety . wypróbowałem oba rozwiązania . Oba są dobre , ale nie pasują do mojego problemu . Potrzebuje po lewej stronie LIST NAZW zmiennych ( czyli $cos, $costam) a nie ich WARTOŚCI koniecznie ze znakiem $ . Każdorazowa próba dołączenia znaku dolara kończy się tym że owszem dołącza ale z przerwą pomiędzy nazwą zmiennej a $ . No przecież jak zrobisz flip to będziesz miał po lewej listę nazw. Wrzuć kawałek kodu zobaczymy co się dzieje. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak masz rację ale bez nieszczęsnego znaczka $, a bez tego list nie zadziała
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak masz rację ale bez nieszczęsnego znaczka $, a bez tego list nie zadziała No daj wreszcie ten kod po porozmawiamy konkretnie... Jasne, że masz bez znaczka, bo masz to jako klucze. Czemu tak nie może być? Jak nie wyjaśnisz co i dlaczego chcesz osiągnąć to nikt Ci nie pomoże choćby chciał. -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 3 Dołączył: 16.08.2007 Skąd: Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Witam
Jak dobrze pamiętam to plik .csv to plik tekstowy gdzie wartości pól są oddzielone jakimś znakiem, np. ','. Ja proponuję zrobić tak: 1. Pobieranie linijki pliku do zmiennej do póki nie zostanie natrafiony na znak końca pliku. 2. Zachowanie do tablicy rozbitej na pola linijki za pomocą explode 3. Po zakończeniu pobierania wyświetlenie za pomocą foreach zestawienia. Pozdrawiam Ps. Najlepiej wrzuć kawałek pliku i to co już masz ![]() Ten post edytował AngelusPL 18.05.2009, 13:35:37 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Zrobiłem dokładnie właśnie tak
Co oczywiście działa ale podaje wartości zmiennych np Nazwa Typ itd . Ja natomiast potrzebuję "dokleić" do każdej z tych wartości znaczek $ tak aby w rezultacie otrzymać string $Nazwa , $Typ itd. Następnie nowopowstały string umieścić po lewej stronie instrukcji List($Nazwa ...... |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 15.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czy Cie dobrze zrozumialem ale chcodzi Ci o cos takiego ?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie o to tyle że jest mały szkopuł . Między znakiem dolara a wyrazem tworzy się przerwa i zamiast $Nazwa mamy
$ Nazwa a tego list może nie lubić |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no to uzyj trim bo ewidentnie b ma spacje
nie: print"<TD>".'$'.$b."</TD>"; a: print"<TD>".'$'.trim($b)."</TD>"; -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 15.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję wszystkim . Problem rozwiązany
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 11:04 |