Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] Wczytanie, zgrupowanie, policzenie, pętle
Forum PHP.pl > Forum > PHP
magu112
Witam...

Chcę wczytać z bazy danych listę osób które mają wypełnione pole user_go (SMALLINT)

Musi znaleźć osoby które mają wypełnione pole user_go, liczby z tego pola odpowiadają polu user_id kilku innych użytkowników, i teraz muszę wczytać użytkownika tego o tym user_id który znalazł u kilku osób w user_go i chcę zliczyć ile jest tych co mają user_go takie jak jego user_id....

no dosyć skomplikowanie może i napisałem ale inaczej się nie da biggrin.gif

w ten sposób wczytuję tworząc pętle osoby które mają wypełnione pole user_go:
  1. $db->query("SELECT user_name, user_id, user_go FROM users WHERE user_go > 0");
  2. $i = 0;
  3.  
  4. while ( $row = $db->get_array() ) {
  5. $i++
  6. echo $i . ". " . $row['user_name'] . " -- " . $row['user_go'] . "<br>";
  7. }

to mi odda coś takiego
1. magda -- 1
2. krzysiek -- 1
3. rafal -- 1
4. kamil -- 2


końcówki to user_go które są user_id innych userów, i teraz mam wyciągnąć nazwę tego usera z id i obliczyć ile jest przypisanych do niego userów którzy mają takie samo user_go co on user_id...
czyli było by coś takiego
  1. $row2 = $db->super_query("SELECT user_name, user_id FROM users WHERE user_id = '" . $row['user_go'] . "'");
  2. echo $row2['user_name'];
  3.  
  4. $db->query("SELECT user_name FROM users WHERE user_go = '" . $row2['user_id'] . "'");
  5. $i2 = 0;
  6. while ( $row3 = $db->get_array() ) {
  7. $i2++
  8. }
  9. echo $i2 . "<br>";

i chce uzyskał coś takiego:
grzesiek 3
agata 1


ale nie wiem ni jak te obydwie rzeczy połączyć ze sobą, lub w ogóle inaczej to przekombinować ;]
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.