Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Lista zakupów
andrzejlechniak
post 11.12.2010, 11:03:20
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:
  1. $orderid = (int)$_GET['idKlient'];
  2. $query = "SELECT * FROM orderdet WHERE orderdet_ordernum = '$orderid'";
  3. $results = mysql_query($query) or die (mysql_query());
  4. while ($row = mysql_fetch_array($results))
  5. {
  6. extract($row);
  7. $prod = "SELECT * FROM products WHERE products_prodnum = '$orderdet_prodnum'";
  8. $prod2 = mysql_query($prod);
  9. while($prod3 = mysql_fetch_array($prod2))
  10. {
  11. extract($prod3);
  12. echo 'Ilość: '.$orderdet_qty.' - Nazwa: ';
  13. echo $products_name.' - Cena: ';
  14. echo $products_price.' - ';
  15. // ustalenie łącznej ceny za produkt
  16. $extprice = number_format($products_price * $orderdet_qty, 2);
  17. echo 'Razem: '.$extprice;
  18. }
  19. }


Podaję też kod tej części, gdzie znajduje się link do TEJ strony, która ma wyświetlać wynik dla JEDNEGO zakupu:

  1. $sql = 'SELECT * FROM customers';
  2. $result = mysql_query($sql);
  3. while($row = mysql_fetch_array($result))
  4. {
  5. $orderid = (int)$_GET['idKlient'];
  6. echo '<table class="admin_panel_dane">
  7. <tr>
  8. <td width="5%">'.$row['customers_custnum'].'</td>
  9. <td width="15%">'.$row['customers_firstname'].'</td>
  10. <td width="10%">'.$row['customers_lastname'].'</td>
  11. <td width="15%">'.$row['customers_city'].'</td>
  12. <td width="25%">
  13. <a href="admin.php?id=admin_sprzedaz&idKlient='.$orderid.'" title="zobacz szczegóły tej transakcji">Szczegóły</a> |
  14. <a href="admin.php?id=admin_sprzedaz&idKlientow='.$orderid2.'" title="zobacz wszystkie transakcje tego użytkownika">Wszystkie</a>
  15. </td>
  16. <td width="10%">'.$row['customers_phone'].'</td>
  17. <td width="20%"><a href="mailto:'.$row['customers_email'].'" title="napisz do tego klienta">'.$row['customers_email'].'</a></td>
  18. </tr>
  19. </table>';
  20. }


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...
Go to the top of the page
+Quote Post

Posty w temacie
- andrzejlechniak   [MySQL][PHP]Lista zakupów   11.12.2010, 11:03:20
- - CuteOne   Dlaczego pobierasz wszystkich a linki pasują tylko...   11.12.2010, 11:21:17
- - andrzejlechniak   OK, zastosowałem pierwszą poradę, ale teraz nic mi...   11.12.2010, 11:30:47
- - lord2105   pokaz to zapytanie co zmieniles   11.12.2010, 11:50:16
- - andrzejlechniak   Oto i ono: [PHP] pobierz, plaintext $orderid = ...   11.12.2010, 11:55:04
- - lord2105   [PHP] pobierz, plaintext $sql = 'SELECT * FROM cus...   11.12.2010, 12:03:44
- - andrzejlechniak   Oto screenshot tabeli customers: http://axem.az.pl...   11.12.2010, 12:15:12
- - lord2105   daj pod spodem echo $sql;   11.12.2010, 12:24:16
- - andrzejlechniak   Wychodzi na to, że mam wynik zerowy, ale nie wiem ...   11.12.2010, 12:28:49
- - CuteOne   Undefined index: idKlient w linii 70 mówi, że nie ...   11.12.2010, 13:05:34
- - andrzejlechniak   To wiem, co powinien wyświetlać, ale mam takie coś...   11.12.2010, 13:11:27
- - lord2105   pomieszanie z poplataniem: [PHP] pobierz, plainte...   11.12.2010, 13:14:12
- - andrzejlechniak   Dziwne, wychodzi, że mam błąd, tzn. coś takiego mi...   11.12.2010, 13:25:13
- - lord2105   czytałeś uważnie mój poprzedni post? CytatPodaj a...   11.12.2010, 13:29:42
- - andrzejlechniak   Taki adres pojawia mi się w przeglądarce: http://l...   11.12.2010, 13:51:56
- - lord2105   zadajesz troszkę bezsensowne pytania... W wcześni...   11.12.2010, 13:54:50
- - andrzejlechniak   Ta dyskusja chyba zmierza na inne tory od zamierzo...   11.12.2010, 14:02:54
- - lord2105   wiec dane musisz wyciągać z tabeli orderdet, a nie...   11.12.2010, 14:09:16
- - andrzejlechniak   No dobra, mniej - więcej załapałem, ale jak połącz...   11.12.2010, 14:28:36
- - lord2105   wiec LEFT JOIN po id produktu   11.12.2010, 14:40:28
- - user767   [PHP] pobierz, plaintext $query="SELECT DISTI...   11.12.2010, 15:32:28
- - andrzejlechniak   OK, mam w takim razie tabele: orderdet (jego ...   11.12.2010, 21:56:59


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:41