Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][MySQL] - AdoDB, Acrive Record i load() problem z wyświetleniem zawartości tabeli, AdoDB, Active Record problem z wyświetleniem zawartości tabeli
taro
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 5
Dołączył: 12.12.2008

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


Witam.

Używam sobie AdoDB + Active Record do obsługi bazy i tutaj pojawia się bardzo śmieszny problem.

Mianowicie mam tabelę "wojewodztwa" gdzie mam 3 rekordy:

  1. $wojewodztwa = new wojewodztwa_table();
  2. if($wojewodztwa->load()) {
  3. print_r($wojewodztwa);


zwraca:
wojewodztwa_table Object ( [_table] => wojewodztwa [_dbat] => 0 [_tableat] => wojewodztwa [_where] => [_saved] => 1 [_lasterr] => [_original] => Array ( [0] => 1 [1] => podlaskie ) [foreignName] => wojewodztwa_table [id_woj] => 1 [nazwa] => podlaskie )

jak widać wyświetla tylko 1 pierwszy rekord, dlaczego ?

debug wskazuje:
(mysqlt): SHOW COLUMNS FROM `wojewodztwa`
(mysqlt): select * from wojewodztwa


zapytanie jest poprawne, ktoś pomoże?
Co robię źle, bo być może późna godzina jest przyczyną ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Wave
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


Load nie zwraca właśnie tylko jednego wyniku? Spróbuj z Execute.
  1. 00404 function Load($where,$bindarr=false)
  2. 00405 {
  3. 00406 $db =& $this->DB(); if (!$db) return false;
  4. 00407 $this->_where = $where;
  5. 00408
  6. 00409 $save = $db->SetFetchMode(ADODB_FETCH_NUM);
  7. 00410 $row = $db->GetRow("select * from ".$this->_table.' WHERE '.$where,$bindarr);
  8. 00411 $db->SetFetchMode($save);
  9. 00412
  10. 00413 return $this->Set($row);
  11. 00414 }

Przy czym GetRow() zwraca pierwszy element z tablicy.

Ten post edytował Wave 6.01.2010, 03:45:44
Go to the top of the page
+Quote Post
humanus
post
Post #3





Grupa: Zarejestrowani
Postów: 1
Pomógł: 1
Dołączył: 17.04.2009

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


Możesz też użyć
  1. $woj_record_set = $wojewodztwa->Find('id != ?',array(0));


To nie jest piękne rozwiązanie, ale w $woj_record_set będziesz miał tablice aktywnych rekordów z województwami. Każde z pól tej zachowuje się jak pojedynczy active record.
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: 16.09.2025 - 07:05