Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][PDO]Zapytanie w zapytaniu, kilka zapytan na raz w PDO
Forum PHP.pl > Forum > Przedszkole
tab
metoda take_articles pobiera z serwera wszystkie watki ktore nie sa odpowiedzia na watek (czyli parent=0).
robienie z nich odniosnikow pozostawia show_atricles.
no i tutaj mam problem, wyglada to tak:

  1. public function take_articles ()
  2. {
  3. $pdo = new PDO('mysql:host=localhost;dbname=michat34', 'michat34', 'mud305000');
  4. $stmt=$pdo->query('SELECT art_id,user_id,adddate,title FROM articles WHERE parent = 0');
  5. foreach ($stmt as $row)
  6. {
  7. $this->show_articles($row['art_id'],$row['user_id'],$row['adddate'],$row['title']);
  8. }
  9. $stmt->closeCursor();
  10. }


potrzebuje jakos zagniezdzic drugie zapytanie, ktore pobrało by z innej bazy login uzytkownika, czyli

  1. $stmt=$pdo->query('SELECT login FROM users WHERE id='$row['user_id']');


z tym ze o ile mi waidomo pdo nei wspiera emulgacji, a wiec zeby wyslac nowe rzadanie musialbym zamknac to obecne.. jakies pomysły?

EDIT
hm chyba cos nie załapałem. juz mi dziala skrypt, po prostu nowe zapytanie przyspisałem do zmiennej $stmt2. w kursie o pdo pisało ze trzeba zamykac zapytania, bo nie wysle sie nowego. ale moze chodzilo o to ze nie wysle tego samego $stmt? moze ktos wyjasnic jak to jest z wysyłaniem tych rzadan? co mozna co nie mozna?
Sephirus
Przede wszystkim do samego problemu podszedłeś źle - to zadanie można opracować na jednym zapytaniu:

  1. $stmt=$pdo->query('SELECT art.art_id, art.user_id, art.adddate, art.title, us.login FROM articles AS art LEFT JOIN users AS us ON art.user_id = us.id WHERE art.parent = 0');


Nigdy nie spotkałem się z takim problemem w PDO. Jeśli pracujesz już na obiekcie PDOStatement (iterujesz po nim itd) nic nie stoi na przeszkodzie by w dowolnym momencie wykonać nowe zapytanie (oczywiście przypisując je własnie do nowego obiektu PDOStatement - tak by nie nadpisać starego). Tak czy owak - takie problemy rozwiązuje się najzwyklejszym JOINem.
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.