Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Pętla i unikalne wyniki
Forum PHP.pl > Forum > Przedszkole
kristaps
Witam, mam pętlę, która zwraca mi z bazy całe zastosowanie danej części.

  1. <?php
  2. echo "<table class = zastosowanie>";
  3. $stmt2 = "SELECT * FROM TOWAR('$pronr', $dnr)";
  4. $sth2 = ibase_query($dbh, $stmt2);
  5.  
  6. $i = 0;
  7. while ($row2 = ibase_fetch_assoc($sth2)) {
  8.  
  9. $row_class = table_row_format($i);
  10.  
  11. echo "<tr class=\"$row_class\"><td>" . $row2["MARKA"] . ":</td><td>" . $row2["ILOSC"] . "</td></tr>";
  12.  
  13. }
  14. echo "</table>";
  15.  
  16. ?>
  17.  


W efekcie otrzymuję coś takiego:

MARKA - ILOŚĆ

NP:

MARKA 1 - 2
MARKA 2 - 5
MARKA 3 - 1

...

Zdarza się, że dana marka ma ten sam początek, jednak unikalny dodatek.

MARKA 1 COS
MARKA 1 COS2
MARKA 2 COS
MARKA 2 COS4

Jak w takim przypadku zwrócić tylko: marka 1, marka 2, marka 3, ..., ignorując wszystkie inne możliwe "dodatki"? Ma ktoś pomysł na wyrażenie regularne?
peter13135
Po pierwsze, najpierw pobierz wyniki do tablicy, potem zrób na nich odpowiedmie działania a następnie wyświetl.
Na razie masz tak, że od razu po pobraniu wiersza z bazy wyświetlasz go, więc trudno tu cokolwiek obliczać, czy porównywać.

No i co do sedna problemu.

Załóżmy, że masz w bazie takie wpisy :

Koszula męska zielona
Koszula męska niebieska
Koszula damska zielona
Koszula męska niebieska

I czy skrypt ma wyświetlić po prostu "Koszula", czy może "Koszula męska" oraz "Koszula damska" ?

Oba warianty pasują do Twojego opisu wink.gif
kristaps
Witam, dzięki za zainteresowanie tematem.

Na szczęście frazy do usunięcia znajdują się w nawiasach, myślałem przed chwilą o wyrażeniu regularnym i wymyśliłem coś takiego:

  1. [(][a-zA-Z0-9 ]*[)]


Także w ten sposób mógłbym się pozbyć zbędnego nazewnictwa - o ile nic nie pomieszałem. wink.gif

Co do Twojego pytania, to "koszula męska". Ogólnie chciałbym wyświetlić tylko raz powtarzającą się frazę.

Masz jakiś pomysł?

Z góry dziękuje za pomoc,
pozdrawiam.
peter13135
Pokaż nam jakieś przykładowe wpisy (tak koło 10) i jaki chcesz mieć wynik.
kristaps
Witam, a to istotne? Zależy mi na tym by zwracać te same frazy tylko jeden raz. Czyli jeżeli mam tabele, która ma 20 rekordów - 10 x POMIDOR, 5 X JABŁKO, 5 X GRUSZKA, w jednym miejscu pobieram wszystko (pętla wyżej) i wyświetlam to w postaci danych tabelarycznych. A w innym chciałbym wyświetlić to jako unikalne wyniki, czyli: pomidor, jabłko, gruszka. Jeden raz.

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-2025 Invision Power Services, Inc.