Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Maleńki problem z wykresem
damianprz
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 26.08.2009
Skąd: Zamojsce

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


(IMG:http://images41.fotosik.pl/185/dcd2828ceae7e2a9m.jpg)
Pewien skrypt pewnego Pana generuje wykresy takie jak ten pierwszy wykres na screenie
Trzeba tylko w pewnym pliku podać odpowiednie dane
I tak ten pomarańczowy wykres miał zapodane takie coś:

  1. $pytanko="SELECT data.data FROM data
  2. INNER JOIN produkty ON (data.id=produkty.id_daty)
  3. WHERE produkty.id_towaru='2' ";
  4. $rezultat = mysql_query($pytanko)
  5. or die("Błąd zapytania");
  6. $ilejest = mysql_num_rows($rezultat);
  7.  
  8. $pytanko2="SELECT produkty.popyt FROM produkty
  9. INNER JOIN data ON (produkty.id_daty=data.id)
  10. WHERE produkty.id_towaru='2' ";
  11. $rezultat2 = mysql_query($pytanko2)
  12. or die("Błąd zapytania");
  13. $ilejest2 = mysql_num_rows($rezultat2);
  14.  
  15. $nazwy = mysql_fetch_array($rezultat);
  16. $wartosci = mysql_fetch_array($rezultat2);


Otrzymuje też wyniki:
  1. ilejest: 9
  2. ilejest2: 9


Moja struktura bazy danych wygląda następująco:
(chodzi o tabele data i produkty)
(IMG:http://images43.fotosik.pl/188/1182f918ccd3c00fm.jpg)

Jak widać w zapytaniu chcę pokazać jakoś popyty dla produktu akurat o Id=2
ale wyświetla mi tylko pierwszą datę i pierwszy popyt dla towaru id=2
W tabeli produkty mam 9 pozycji dla towaru o Id=2

id_daty ...id_towaru... popyt
1.......... 2 ............20
2 ..........2 ............25
3 ..........2 ............15
4 ..........2 ..............5
5 ..........2 ............15
6 ..........2 ............10
7 ..........2 ............15
8 ..........2 ............15
9 ..........2 ............15

Jak pokazać wszystkie daty i wszystkie popyty dla danego id towaru?

Ten post edytował damianprz 29.08.2009, 13:20:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fixus
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


dobra już rozumiem w czym masz problem (IMG:style_emoticons/default/smile.gif)

nie jestem specem od sql dlatego moje rozwiązanie może być nieoptymalne ale będzie działać

  1. $sql = "select * from produkty";
  2. $result = mysql_query($sql);
  3. while($item = mysql_fetch_array($result)) {
  4. $sql2 = "select * from towary where id = '".$item['id_towaru']."'";
  5. $result2 = mysql_query($sql2);
  6. $nazwy = mysql_fetch_array($result2);
  7. $nazwa = $nazwy['nazwa'];
  8.  
  9. $sql3 = "select * from data where id = '".$item['id_daty']."'";
  10. $result3 = mysql_query($sql3);
  11. $daty = mysql_fetch_array($result3);
  12. $data = $daty['data'];
  13.  
  14. $popyt = $item['popyt'];
  15. echo "Nazwa towaru $nazwa, jego data to $data, a popyt to $popyt;"
  16. }


mam nadzieję, że pomogło

Ten post edytował Fixus 29.08.2009, 17:19:20
Go to the top of the page
+Quote Post
damianprz
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 26.08.2009
Skąd: Zamojsce

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


Cytat(Fixus @ 29.08.2009, 18:18:50 ) *
dobra już rozumiem w czym masz problem (IMG:style_emoticons/default/smile.gif)

nie jestem specem od sql dlatego moje rozwiązanie może być nieoptymalne ale będzie działać

  1. $sql = "select * from produkty";
  2. $result = mysql_query($sql);
  3. while($item = mysql_fetch_array($result)) {
  4. $sql2 = "select * from towary where id = '".$item['id_towaru']."'";
  5. $result2 = mysql_query($sql2);
  6. $nazwy = mysql_fetch_array($result2);
  7. $nazwa = $nazwy['nazwa'];
  8.  
  9. $sql3 = "select * from data where id = '".$item['id_daty']."'";
  10. $result3 = mysql_query($sql3);
  11. $daty = mysql_fetch_array($result3);
  12. $data = $daty['data'];
  13.  
  14. $popyt = $item['popyt'];
  15. echo "Nazwa towaru $nazwa, jego data to $data, a popyt to $popyt;"
  16. }


mam nadzieję, że pomogło


Twój kod (z drobną poprawką - daty zamieniłem na wartosci, bo plik generujący wykres ma dostać 2 ciągi znaków o równej ilości bo w innym wypadku wywala bład, te ciagi znaków mają być pod zmiennymi $nazwy i $wartosci, a były $daty)

  1. $sql = "select * from produkty";
  2. $result = mysql_query($sql);
  3. while($item = mysql_fetch_array($result))
  4. {
  5. $sql2 = "select * from towary where id = '".$item['id_towaru']."'";
  6. $result2 = mysql_query($sql2);
  7. $nazwy = mysql_fetch_array($result2);
  8. $nazwa = $nazwy['nazwa'];
  9. $sql3 = "select * from data where id = '".$item['id_daty']."'";
  10. $result3 = mysql_query($sql3);
  11. $wartosci = mysql_fetch_array($result3);
  12. $data = $wartosci['data'];
  13. $popyt = $item['popyt'];
  14.  
  15. echo "Nazwa towaru ".$nazwa.", jego data to ".$data.", a popyt to ".$popyt." <BR>";
  16.  
  17. };


dał takie wyniki z echo:

  1. Nazwa towaru drewno, jego data to 2009-07-01, a popyt to 10
  2. Nazwa towaru srubki, jego data to 2009-07-01, a popyt to 20
  3. Nazwa towaru klej, jego data to 2009-07-01, a popyt to 20
  4. Nazwa towaru farba, jego data to 2009-07-01, a popyt to 10
  5. Nazwa towaru drewno, jego data to 2009-07-02, a popyt to 15
  6. Nazwa towaru srubki, jego data to 2009-07-02, a popyt to 25
  7. Nazwa towaru klej, jego data to 2009-07-02, a popyt to 15
  8. Nazwa towaru farba, jego data to 2009-07-02, a popyt to 20
  9. Nazwa towaru drewno, jego data to 2009-07-03, a popyt to 5
  10. Nazwa towaru srubki, jego data to 2009-07-03, a popyt to 15
  11. Nazwa towaru klej, jego data to 2009-07-03, a popyt to 25
  12. Nazwa towaru farba, jego data to 2009-07-03, a popyt to 5
  13. Nazwa towaru drewno, jego data to 2009-07-06, a popyt to 10
  14. Nazwa towaru srubki, jego data to 2009-07-06, a popyt to 5
  15. Nazwa towaru klej, jego data to 2009-07-06, a popyt to 15
  16. Nazwa towaru farba, jego data to 2009-07-06, a popyt to 35
  17. Nazwa towaru drewno, jego data to 2009-07-07, a popyt to 5
  18. Nazwa towaru srubki, jego data to 2009-07-07, a popyt to 15
  19. Nazwa towaru klej, jego data to 2009-07-07, a popyt to 25
  20. Nazwa towaru farba, jego data to 2009-07-07, a popyt to 15
  21. Nazwa towaru drewno, jego data to 2009-07-08, a popyt to 10
  22. Nazwa towaru srubki, jego data to 2009-07-08, a popyt to 10
  23. Nazwa towaru klej, jego data to 2009-07-08, a popyt to 10
  24. Nazwa towaru farba, jego data to 2009-07-08, a popyt to 10
  25. Nazwa towaru drewno, jego data to 2009-07-09, a popyt to 15
  26. Nazwa towaru srubki, jego data to 2009-07-09, a popyt to 15
  27. Nazwa towaru klej, jego data to 2009-07-09, a popyt to 25
  28. Nazwa towaru farba, jego data to 2009-07-09, a popyt to 25
  29. Nazwa towaru drewno, jego data to 2009-07-10, a popyt to 15
  30. Nazwa towaru srubki, jego data to 2009-07-10, a popyt to 15
  31. Nazwa towaru klej, jego data to 2009-07-10, a popyt to 25
  32. Nazwa towaru farba, jego data to 2009-07-10, a popyt to 25
  33. Nazwa towaru drewno, jego data to 2009-07-13, a popyt to 10
  34. Nazwa towaru srubki, jego data to 2009-07-13, a popyt to 15
  35. Nazwa towaru klej, jego data to 2009-07-13, a popyt to 20
  36. Nazwa towaru farba, jego data to 2009-07-13, a popyt to 18


oraz wykres, który niestety nadal jest zły

(IMG:http://images46.fotosik.pl/190/24a7bd02ec3f8a8fm.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 6.10.2025 - 12:29