Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Operacje na tablicach
d0m1n1k_
post
Post #1





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Witam,
poszukuję rozwiązania następującego problemu.
Chciałbym pobrać dane z czterech tabel w MySQL: Cena hurtowa (CH), Cena detaliczna (CD), Rabat hurtowy (RH), Rabat detaliczny (RD);
Z każdej tabeli pobierane jest: wartość, data obowiązywania.

Przykładowo:

CH: '100, 2015-01-15', '105, 2015-01-10', '100, 2015-01-01';
CD: '120, 2015-01-20', '140, 2015-01-10', '110, 2015-01-02';
RH: '0.1, 2015-01-16', '0.2, 2015-01-09';
RD: '0.05, 2015-01-18', '0.1, 2015-01-09';

Jak widać różne mogą być daty dodania i nie muszą się pokrywać i to samo tyczy się ilości wyciąganych danych.

Zastanawiam się jak mogę wstawić to do szablonu:

  1. [DATA, CH, CD, RH, RD],
  2. ['2015-01-01', 100, null, null, null],
  3. ['2015-01-02', null, 110, null, null],
  4. ['2015-01-09', null, null, 0.2, 0.1],
  5. ['2015-01-10', 105, 140, null, null],
  6. ['2015-01-15', 100, null, null, null],
  7. ['2015-01-16', null, null, 0.1, null],
  8. ['2015-01-18', null, null, null, 0.05],
  9. ['2015-01-20', null, 120, null, null]


Myślałem o array() ale nie wiem jak to dobrze złączyć poprzekształcać - słowem gleba :-//

Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d0m1n1k_
post
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 3
Dołączył: 13.07.2009
Skąd: Tarnów

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


Kod - mysql bez zmian

  1. $query = mysql_query($sql);
  2. while($rows = mysql_fetch_assoc($query)){
  3. $data = []; //Tu wywala mi errora: Parse error: syntax error, unexpected '[' in C:\WebServ\httpd\lib\part_chart.php on line 17
  4. foreach ($rows as $row) {
  5. $data[$row['data']][$row['type']] = $row['price'];
  6. }
  7. }


Co do var_dump()
Dla $rows wywala ładny stos, np:
  1. array(3) {
  2. ["type"]=>
  3. string(12) "CenyHurt"
  4. ["price"]=>
  5. string(6) "268337"
  6. ["data"]=>
  7. string(10) "2016-01-06"
  8. }

Dla $row tylko daty, a dla $data pojedyncze litery i cyfry.

Rzeczywiście _assoc pomogło.
Mógłbyś jeszcze wytłumaczyć mi działanie $data[$row['data']][$row['type']] = $row['price'];
oraz jak ją wywoływać, bo to jest rzecz którą w tej chwili nie ogarniam.

Ten post edytował d0m1n1k_ 25.01.2016, 16:07:44
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: 18.10.2025 - 04:28