![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hej. Piszę sklep internetowy, a raczej kończę go. Nie ukrywam, że jako początkujący korzystam z wielu różnych skryptów, np. z książki PHP5, Apache i MySQL. I stamtąd mam właśnie sam skrypt sklepu, to znaczy akurat zakupów, zamówienie. Resztę, tzn. np. panel administratora napisałem sam. I teraz mam problem. Chcę wyświetlić listę zakupów poszczególnych klientów.
Mam takie tabele: carttemp (tymczasowa tabela przechowująca rzeczy w koszyku), products (tabela w której są towary w sklepie, poducts_prodnum --> jako id produktu), customers (tabela z danymi klientów customers_custnum --> jako numer klienta) orderdet (tabela gdzie trzymane są dane o produktach, które dany klient kupił orderdet_ordernum --> jako numer zamówienie). Mam listę klientów: np. Jan Kowalski kupił (link). dnia: data I w tym (link) powinno się wyświetlać zakup tylko dla TEGO JEDNEGO klienta, a mi wyświetlają się w każdym kliencie te same wartości, tak jakby każdy klient kupił to samo, za tyle samo itd. Pokażę kod, może to coś ułatwi:
Podaję też kod tej części, gdzie znajduje się link do TEJ strony, która ma wyświetlać wynik dla JEDNEGO zakupu:
Dodam tylko, że na swój sposób kod działa dobrze, znaczy wyświetla COŚ, problem w tym, że nie wyświetla TEGO co akurat mi potrzeba. A chodzi mi o to, aby za pomoca linku można było wyświetlić pojedynczy rekord dla danego zakupu, aby dany rekord był różny od poprzedniego i kolejnego. Po drugie pytanko, jak wyświetlić listę wszystkich zakupów dla JEDNEGO klienta? Ewentualnie, mógłbym wysłać na PW całe skrypty... Proszę o pomoc, pozdrawiam... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego pobierasz wszystkich a linki pasują tylko do jednego użytkownika??
Po co dwa zapytania do bazy?
Połącz to używając LEFT JOIN |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
OK, zastosowałem pierwszą poradę, ale teraz nic mi się nie ukazuje, tak jakby nie było wyników w bazie...
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
pokaz to zapytanie co zmieniles
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oto i ono:
Dodam tylko, że error_reporting(E_ALL); mówi mi, że Undefined index: idKlient w linii 70 (u mnie w kodzie), tzn. w tym miejscu $orderid = (int)$_GET['idKlient']; |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
zle zadane pytanie tak przynajmniej podejrzewam bo nie mam podgladu Twojej bazy danych powinno byc
Pokaz zrzut tabeli customers A apropo Undefined index: Temat: PHP Notice Undefined index -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oto screenshot tabeli customers:
http://axem.az.pl/screenshooter/uploads/nketceb28240hky.jpg |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
daj pod spodem echo $sql;
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Undefined index: idKlient w linii 70 mówi, że nie podałeś w adresie id użytkownika
![]() http://www.example.com/index.php?idKlient=23 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
To wiem, co powinien wyświetlać, ale mam takie coś:
i nie wiem, gdzie nie deklaruję $orderid, skoro $orderid = (int)$_GET['idKlient']; chyba właśnie ten wiersz wyświetla jak powinna wyglądać akcja ($_GET) i jaki powinien być numer (pobiera z customers_custnum). Gdzie zatem mam tutaj błąd? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
pomieszanie z poplataniem:
daj tak ^^ Podaj adres jaki widzisz w przegladarce podczas odpalania tego skryptu? Ten post edytował lord2105 11.12.2010, 13:16:28 -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dziwne, wychodzi, że mam błąd, tzn. coś takiego mi wychodzi:
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
czytałeś uważnie mój poprzedni post?
Cytat Podaj adres jaki widzisz w przegladarce podczas odpalania tego skryptu? Nie podajesz w linku parametru idKlient. www.dlaczegotoniedziala.pl/index.php?idKlient=2 -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Taki adres pojawia mi się w przeglądarce:
http://localhost/.../admin.php?id=admin_sprzedaz znaczy się faktycznie bez idKlienta, ale czemu? |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
zadajesz troszkę bezsensowne pytania...
W wcześniejszej fazie programu musisz wygenerować link z odpowiednim id klienta -------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ta dyskusja chyba zmierza na inne tory od zamierzonych. Chodziło mi nie o to, aby wyświetlać od razu transakcje danego klienta, tylko aby link kierował do tego (abym widział transakcje klientów - każda po kolei).
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
wiec dane musisz wyciągać z tabeli orderdet, a nie customers
-------------------- |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 7.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
No dobra, mniej - więcej załapałem, ale jak połączyć to z tabelą customers i products, tzn. wiem że dwie można za pocą LEFT JOIN, ale jak to zrobić z trzema, kiedy żadna z nich nie ma takiej samej nazwy pola w tabeli (choć niektóre mają taką samą wartość). Chodzi mi o to, abym widział nie tylko co było kupowane, ale jaki produkt i za ile a te dane są w innej tabeli (table products).
Ten post edytował andrzejlechniak 11.12.2010, 14:29:59 |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 380 Pomógł: 59 Dołączył: 24.04.2010 Skąd: London Ostrzeżenie: (0%) ![]() ![]() |
wiec LEFT JOIN po id produktu
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 06:11 |