Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Scalanie identycznych komórek - 2 warunki
szuki
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 21.09.2012

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


Witam, mam mały problem z pętlą, a w zasadzie dokończeniem warunku. Całość polega na tym, że pobieram wyniki z bazy i na ich podstawie generuję tabelę.
By zyskać nieco na czytelności, treść w komórkach o takiej samej nazwie jak komórka wyżej jest usuwana. Czyli:

  1. Owoc | Cena
  2. --------------------------
  3. Gruszka | 11.00
  4. | 11.00
  5. | 9.00
  6. Jabłko | 9.00
  7. | 14.00


zamiast:

  1. Owoc | Cena
  2. --------------------------
  3. Gruszka | 11.00
  4. Gruszka | 11.00
  5. Gruszka | 9.00
  6. Jabłko | 9.00
  7. Jabłko | 14.00




Także usuwam duplikaty w kolumnie "Owoc".

  1. // Pętla while
  2.  
  3. if($row4 == false){
  4.  
  5. $towar .= "<tr><td>Brak owoców.</td></tr>";
  6. }
  7.  
  8. $towar .= "<tr><td>" . ($row4["owoc"] != $owoc ? $row4["owoc"] . ':' : '') . "</td><td>" . $row4["cena"] . "</td></tr>";
  9.  
  10. $owoc = $row4["owoc"];


To samo rozwiązanie chciałbym zastosować dla pola: "cena".

Jednak wtedy otrzymuję:

  1. Owoc | Cena
  2. --------------------------------------
  3. Gruszka | 11.00
  4. |
  5. |
  6. Jabłko | 9.00
  7. | 14.00


W tym przypadku została usunięta cena gruszki (9pln) jako, że w następnej kolejności cena jabłka ma tę samą wartość.


Chciałbym scalać ceny, tylko dla danej kategorii (grupy towarowej). Jedyny pomysł jaki mam, to:

  1. $towar .= "<tr><td>" . ($row4["owoc"] != $owoc ? $row4["owoc"] . ':' : '') . "</td><td>" . ($row4["cena"] != $cena && $row4["owoc"] != $owoc ? $row4["owoc"] . ':' : '') . "</td></tr>";
  2. $owoc = $row4["owoc"];
  3. $cena = $row4["cena"];


Jednak takie tozwiązanie nie działa.

Byłbym wdzięczny za wszelkie sugestie.
Pozdrawiam!

Ten post edytował szuki 11.12.2012, 15:07:57
Go to the top of the page
+Quote Post
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


drugiego scalania nie rób w php tylko już poczas odpytywania bazy.
Np w mysql dopisujesz
  1. GROUP BY owoc,cena


Ten post edytował timon27 16.01.2013, 17:32:07
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 Aktualny czas: 20.08.2025 - 10:29