Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Wyciąganie danych z bazy - tylko jeden rekord - dlaczego?
Forum PHP.pl > Forum > Przedszkole
Mody23
Cześć!

Mam taki kod:

  1. $sql = "SELECT * FROM " . USER_GROUP_COMMUNITY . " WHERE group_community_id = $id_grupki LIMIT 10";
  2. $wyniki = $db->sql_query($sql);
  3. while ( $rowek = $db->sql_fetchrow($wyniki))
  4. {
  5. $id_userkow = $rowek['user_id'];
  6. }
  7.  
  8. $sql = "SELECT user_id , user_avatar, user_avatar_type, user_allowavatar
  9. FROM " . USERS_TABLE . "
  10. WHERE user_id IN ($id_userkow) ";
  11. if ( !($wyn = $db->sql_query($sql)) )
  12. {
  13. message_die(GENERAL_ERROR, 'last avatar', '', __LINE__, __FILE__, $sql);
  14. }


Chodzi o zapytanie z pierwszej linii. Jak je wyechuję i wpiszę w PHPMYADMIN, otrzymuję dwa wyniki w efekcie (dwa ID). Jednak jeśli wykonuje to skrypt PHP (czyli kod powyżej), to zmienna $id_userkow, przyjmuje tylko jedno ID - dlaczego?
Dostałem podpowiedź, że nie mam nadpisywać zmiennej tylko łączyć je przecinkami, czego kompletnie nie rozumiem ;/

Pozdr.
grzeee
Bo sobie nadpisujesz ciągle id_userkow ostatnim pobranym id.
Spróbuj tego:
  1. $sql = "SELECT * FROM " . USER_GROUP_COMMUNITY . " WHERE group_community_id = $id_grupki LIMIT 10";
  2. $wyniki = $db->sql_query($sql);
  3. while ( $rowek = $db->sql_fetchrow($wyniki))
  4. {
  5. $id_userkow .= $rowek['user_id'].',';
  6. }
  7.  
  8. $sql = "SELECT user_id , user_avatar, user_avatar_type, user_allowavatar
  9. FROM " . USERS_TABLE . "
  10. WHERE user_id IN ($id_userkow) ";
  11. if ( !($wyn = $db->sql_query($sql)) )
  12. {
  13. message_die(GENERAL_ERROR, 'last avatar', '', __LINE__, __FILE__, $sql);
  14. }
mate
nie lepiej by bylo gdyby $id_userkow byl po prostu tablica i zapamietywal w kolejnych indeksach id?
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.