Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie towaru pod pewnymi warunkami
okoolarnik
post 7.11.2006, 14:01:16
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.11.2006

Ostrzeżenie: (0%)
-----


Witam.

Mam (oczywiście jest ich więcej, ale mówię tylko o tych) dwie tabele w bazie danych :

orders oraz orders_products.

W tabeli orders jest kilka kolumn, lecz mnie interesują dwie :

orders_id oraz orders_status.

W tabeli orders_products jest też kilka kolumn, lecz mnie interesują cztery :

orders_id, products_model, products_name oraz products_quantity.

Niestety nie mogę sobie poradzić z tematem, żeby :

Zczytać dane razem z tych tabel, a następnie wyświetlić je na stronie w następujący sposób :

Po 1 .
- Wiadomo że do jednego numeru zamówienia (orders_id)mogą być przyporządkowane różne produkty (products_model, products_name, products_quantity). Chodzi o to, żeby produkty wyświetlały się jeśli status zamówienia (orders_status) do którego należą równa się np. 2 (jeśli różny od 2 nie mają się wyświetlać).
Po 2.
- Produkty w różnych zamówieniach mogą się powtarzać, i chodzi o to, żeby nie był ten produkt wyświetlony ponownie, lecz wartości pola products_quantity dla takich samych products_model były sumowane.
Po 3.
- Nie interesuje mnie wyświetlanie pola orders_id przy produktach, ale wydawało mi się, że dzięki tym polom można porównać wiersze.

Znajomy mówił coś o krzyżowych zapytaniach do bazy MySql4, ale nic z tego nie kumam.
Błagam pomóżcie, bo się już dawno pogubiłem.
Go to the top of the page
+Quote Post
KILIUSZKIN
post 9.11.2006, 10:05:42
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Ad1.
  1. SELECT op.products_model, op.products_name, op.products_quantity ---
  2. FROM orders_products op, orders o ---
  3. WHERE o.order_id = op.order_id AND o.order_status = 2 ---


Ad2.
  1. SELECT op.products_model, op.products_name, sum(op.products_quantity) ---
  2. FROM orders_products op, orders o ---
  3. WHERE o.order_id = op.order_id AND o.order_status = 2 ---
  4. GROUP BY op.products_model. op.products_name ---


Sumowanie masz po modelu a potem po nazwie. Nie możesz sumować tylko po modelu, jeśli chcesz
wyświetlać model i nazwę.

Ad3.
Jak wyżej, kolumna order_id nie musi być wyświetlana


--------------------
________________________________________________________________________________
czy programiści używają jeszcze diagramów ? jeśli nie, to tylko zwykli koderzy są ;)
Go to the top of the page
+Quote Post
okoolarnik
post 9.11.2006, 11:45:24
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.11.2006

Ostrzeżenie: (0%)
-----


Mam coś takiego :
  1. <?php
  2.  
  3. $host =***
  4. $username =***
  5. $password =***
  6. $database =***
  7.  
  8. $polaczenie = mysql_connect($host, $username, $password);
  9. mysql_select_db($database, $polaczenie);
  10.  
  11. $zapytanie = "select op.products_model, op.products_name, sum(op.products_quantity) from orders_products op, orders o where o.order_id = op.order_id and o.ord
    er_status = 2 group by op.products_model. op.products_name"
    ;
  12. $dzialaj=mysql_query($zapytanie);
  13.  
  14. while ($pole = mysql_fetch_row($dzialaj))
  15.  
  16. {
  17. print $pole[0].' - '.$pole[1].' - '.$pole[3].' - '.$pole[4].'<br>';
  18. }
  19.  
  20. php?>


Niestety przeglądarka podaje mi komunikat

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/site/14509/www/dostawa/dostawa.php on line 14

questionmark.gif?

Ten post edytował okoolarnik 9.11.2006, 12:07:49
Go to the top of the page
+Quote Post
KILIUSZKIN
post 9.11.2006, 12:25:35
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Literówki, literówki.....
  1. <?php
  2. $zapytanie ="select op.products_model, op.products_name, sum(op.products_quantity)
  3. from orders_products op, orders o where o.order_id = op.order_id and o.order_sta
    tus = 2 group by op.products_model, op.products_name"
    ;
  4. ?>


Oczywiście zapytanie w jednej linii...

Ten post edytował KILIUSZKIN 9.11.2006, 12:27:53


--------------------
________________________________________________________________________________
czy programiści używają jeszcze diagramów ? jeśli nie, to tylko zwykli koderzy są ;)
Go to the top of the page
+Quote Post
okoolarnik
post 9.11.2006, 12:56:55
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.11.2006

Ostrzeżenie: (0%)
-----


Zmieniłem, niestety nadal to samo
Go to the top of the page
+Quote Post
KILIUSZKIN
post 9.11.2006, 13:38:05
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Po
  1. <?php
  2. $dzialaj=mysql_query($zapytanie);
  3. ?>

dodaj
  1. <?php
  2. $sql_error = mysql_error();
  3. if (!($sql_error=="")) {
  4.  echo "<center><br><br><b> Zapytanie do bazy danych nie powiodło się </b>";
  5.  echo "<b> $sql_error </b></center>";
  6.  die();}
  7. ?>


i podaj jaki błąd ci wyświetla


--------------------
________________________________________________________________________________
czy programiści używają jeszcze diagramów ? jeśli nie, to tylko zwykli koderzy są ;)
Go to the top of the page
+Quote Post
okoolarnik
post 9.11.2006, 16:32:11
Post #7





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 2.11.2006

Ostrzeżenie: (0%)
-----


Zapytanie do bazy danych nie powiodło się Unknown column 'o.order_id' in 'where clause'
Go to the top of the page
+Quote Post
KILIUSZKIN
post 10.11.2006, 08:48:17
Post #8





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Kolejna literówka (tym razem z mojej strony), powinno być:
where o.orders_id = op.orders_id .....

guitar.gif

Ten post edytował KILIUSZKIN 10.11.2006, 08:48:48


--------------------
________________________________________________________________________________
czy programiści używają jeszcze diagramów ? jeśli nie, to tylko zwykli koderzy są ;)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 06:12