Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Scalanie identycznych komórek - 2 warunki
Forum PHP.pl > Forum > Gotowe rozwiązania
szuki
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!
timon27
drugiego scalania nie rób w php tylko już poczas odpytywania bazy.
Np w mysql dopisujesz
  1. GROUP BY owoc,cena
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.