Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Wyświetlanie wyników z bazy
Forum PHP.pl > Forum > Przedszkole
Maze123987
Cześć,


  1. $result = mysql_query("SELECT abc,def FROM xyz");
  2.  
  3. $rows = array();
  4. while($r = mysql_fetch_array($result)) {
  5. $row[0] = $r[0];
  6. $row[1] = $r[1];
  7. array_push($rows,$row);
  8. }
  9.  
  10. print json_encode($rows, JSON_NUMERIC_CHECK);


To zwraca mi tablice w postaci:

  1. [["AAA",0],["AAA",111],["BBB",1233],["CCC",321]]


W jaki sposób poprawić powyższe zapytanie, aby w przypadku takich samych danych w kolumnie "abc", łączyło wyniki czyli powyższa tablica powinna wyglądać tak:

  1. [["AAA",111],["BBB",1233],["CCC",321]]


gdyż, dwa rekordy mają taką samą zawartość w kolumnie "abc".
tomxx
Zrób SELECT DISTINCT abc

Tak w ogóle, to mysql_* jest już przestarzałe. Proponuję przejść na mysqli lub PDO.
Maze123987
No właśnie mi nie chodzi o samo pominięcie, a o łączenie rekordów, gdy w kolumnie abc jest taka sama wartość.

Nie chcę uzyskać rezultatu, gdzie
przy tablicy:
  1. [["AAA",5],["AAA",111],["BBB",1233],["CCC",321]]


wyświetli mi:
  1. ["AAA",111],["BBB",1233],["CCC",321]]


tylko zsumuje czyli:
  1. ["AAA",116],["BBB",1233],["CCC",321]]


@Edit:

Udało mi się - zrobiłem tak:

Kod
$result = mysql_query("SELECT abc, SUM(def) FROM xyz GROUP BY abc");
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.