Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP][PDO]Zapytanie w zapytaniu, kilka zapytan na raz w PDO, ~PDO
tab
post
Post #1





Grupa: Zarejestrowani
Postów: 75
Pomógł: 20
Dołączył: 8.10.2012

Ostrzeżenie: (0%)
-----


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?

Ten post edytował tab 5.11.2012, 00:10:50
Go to the top of the page
+Quote Post
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 19:27