Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PDO] pobieranie całej tablicy
jafet
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 26.09.2004
Skąd: Białystok

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


Chciałbym pobierać dane z kursorów do jednej tablicy asocjacyjnej. Bez PDO było to proste, klasa zwracała zapytania a potem np funckją mysql_fetch_row pobierałem każdy wiersz. W PDO nie mogę w innym miejscu pobierać po jednym wierszu z kursora bo muszę w klasie z zapytaniem zamknąć ten kursor. Więć klasa z zapytaniem musi mi od razu wszystko zwrócić. Jest w PDO funkcja fetchAll() ale ona zwraca to w dziwny sposób: Array ( [0] => Array ( [id] => 1 [0] => 1 [nazwa] => przyroda [1] => przyroda ) [1] => Array ( [id] => 2 [0] => 2 [nazwa] => motory / samochody [1] => motory / samochody ) ). A dodam że tabela to tylko: id, nazwa. Czy ktoś wie jak to zwrócić, by potem móc se jak człowiek odczytać foreach ($dane as $id => $nazwa)(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował nospor 9.05.2006, 16:31:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jafet
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 26.09.2004
Skąd: Białystok

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


Cytat(nospor @ 2006-05-09 13:36:15)
Tak sie rozgadalismy na temat tych indexów, ze calkowicie ci zapomnialem powiedziec co i jak, gdyz ty niedolukales wszystkiego.

http://pl.php.net/manual/pl/function.pdostatement-fetch.php
PDO::FETCH_ASSOC zwroci ci tylko indexy z nazwami pol.
Uwierz, to jest dopracowane (pod tym kątem) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Też właśnie wziąłem FETCH_ASSOC zanim przeczytałem Twoją odp. Ale... To też nie do końca to co chciałem, bo trzeba przelatywać przez cały kursor i dokładać do tablicy każdy rekord. Bo funkcja fetch pobiera zawsze tylko jeden rekord. Chyba jednak nie ma czegoś takiego w PDO, żeby jednym poleceniem stworzyć tablicę asocjacyjną z wszystkich rekordów pobierając np 2 zadane pola... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Chyba jestem wybredny (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

  1. <?php
  2. $zainteresowania = array();
  3. $stmt = $this -> db -> query('SELECT id, nazwa FROM zainteresowania');
  4.  
  5. while($row = $stmt -> fetch(PDO::FETCH_ASSOC))
  6. {
  7. array_push($zainteresowania, $row);
  8. }
  9.  
  10. $stmt -> closeCursor();
  11.  
  12. return $zainteresowania;
  13. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.09.2025 - 05:19