![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam problem (no inaczej bym nie pisał nie
![]() Moze na początek kawałek kodu: Kod $sql = 'CALL replacement ('.$changeweek.')'; $stmt = $hDB->prepare($sql); $stmt->execute(); $num = $stmt->rowCount(); $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); for ($i=0;$i<$num;$i++){ $resultw = $stmt->fetch(); $wr[] = $resultw; } $smarty->assign('wr',$wr); Mam z tego tablicę: direction | driver | truck | client ------------------------------------------------------------- IN | kowalski | CBA 2659 | klient -------------------------------------------------------------- OUT | nowak | CBA 2659 | klient ------------------------------------------------------------- Jak to wyrzucic na stronę w Smarty w formie tabelki : OUT | truck | IN | client ------------------------------------------------ nowak | CBA 2659 | kowalski | klient ------------------------------------------------- Poprosze o pomoc. Nikt nie pomoże? Ten post edytował kasior 1.04.2014, 12:05:36
Powód edycji: [nospor]:
-------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie robiłbym tego w Smarty, najlepiej zapytaniem SQL, ale rozumiem, że nie możesz.
Pozostaje PHP.
Puść to później w Smarty, w dwóch pętlach {foreach} z atrybutem key. W pierwszej w atrybucie key będziesz mieć klienta, w drugiej, w atrybucie key będzie truck. Value drugiej pętli, to tablica z dwiema zmiennymi: in oraz out. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Fajnie opisałeś, ale jednak nie rozumiem tego
![]() -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
I jeszcze możesz uprościć wcześniejszą pętlę w PHP:
Ten post edytował trueblue 1.04.2014, 17:37:52 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No chciałbym kliknąc pomógł ale jeszcze nie mogę. To coś nie działa. Dostaje w wyniku kupę danych zupełnie niepotrzebnych w tym nazwy pól bazy.
itd... jeszcze raz cały mój kod:
EDIT >> ok. dureń ze mnie. zostawiłem poprzednią pętlę ![]() Ten post edytował kasior 1.04.2014, 17:56:11 -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
To jest ok, czy nie?
Jeśli nie to pokaż jeden wiersz: print_r($resultw); (wydrukuj w tej pętli PHP). -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca jest ok. Zobacz kawałek wyniku:
patrz na rejestrację EKU 8EV1 - to się nie składa. (out) jest w pierwszym rzędzie a gdzieś dalej (in). Nie wchodza obok siebie Specjalnie dodałem kreski,zeby oddzielić i podkreślić wiersze Ten post edytował kasior 1.04.2014, 18:06:32 -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie ma to znaczenia.
A gdzie jest Direction (IN, OUT)? Pokaż ten sam kawałek drukują w pętli PHP: print_r($resultw); P.S. Uprość pętlę w PHP - jest w moim poście z przykładem pętli w Smarty. -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Pętlę oczywiście uprościłem, na tamtej tylko jeden rekord wyświetlało Ten post edytował kasior 1.04.2014, 18:17:31 -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzięki.
A jaki jest klient dla tych dwóch rekordów, które podałeś wcześniej (rejestracja EKU 8EV1). -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No akurat nie ma. Może to ma jakis związek,ze nie ma wszystkich danych jeszcze? Myślałem,ze jak ich nie będzie to beda puste pola.
Spróbuje to odpalić z tygodniem w którym są wszystkie dane -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Akurat tu tak nie będzie, ale może to rozwiązanie Cię zadowoli:
Ten post edytował trueblue 1.04.2014, 18:24:53 -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
To dalej nie składa wierszy do kupy
-------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź czy obydwie rejestracje EKU, nie mają czasem spacji przed lub po.
-------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Nie maja. Zresztą to jedno i to samo pobierane z bazy i wrzucane w odpowiednie pola.
Moze zobrazuje sytuację to będzie lepiej. mam ładna tabelke z kierowcami , trzymajmy sie nazwy - OUT ![]() Nastepna tabelka przedstawia IN ![]() Tabelka którą teraz chcę uzyskać wyglądałaby tak biorąc pod uwage,ze nie zawsze są wszystkie dane (np wchodzi dwóch na jednego trucka bo jeden się uczy) lub nie ma klienta lub nie ma wchodzącego np. ![]() Jest to po prostu takie zestawienie wszystkiego Ten post edytował kasior 1.04.2014, 18:44:54 -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W jednym się myliłem, rekordy bez klientów nie będą się wzajemnie nadpisywać w docelowej tabeli. Można więc wrócić do poprzedniego rozwiązania.
Z tego co pokazujesz trudno wywnioskować czy są tam spacje czy nie, bo być może program generujący te widoki je usuwa. Ja przetestowałem na tabeli z danymi w PHP, działa bez problemu, może brakować klienta, jak i IN lub OUT:
To co generuje test.pl: OUT,truck,IN,client nowak,EKU 8EV1,kowalski,klient nowak2,AAA 2659,kowalski2, nowak3,BBB 2659,kowalski3, nowak3,CCC 2659,,marian Możesz jeszcze spróbować tak: -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
ok. czyli co zostawiam z tamtego kodu?? bo już się zakręciłem. począwszy od zapytania sql
-------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 20.12.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
a w smarty nic już nie przerabiałeś? bo ja ciągle mam bajzel. jeszcze raz cały kod mój.:
Kod OUT,truck,IN,client<br /><br />
{foreach from=$wr key=client item=tmp} {foreach from=$tmp key=truck item=drivers} {$drivers.out} -- {$truck} -- {$drivers.in} |<br /> {/foreach} {/foreach} -------------------- Zapraszam do odwiedzenia mojej strony.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W Smarty nic.
Wcześniej pisałeś o bałaganie kiedy jakiejś pętli nie usunąłeś. Czym teraz bałagan się objawia? -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 19:16 |