Witam.
Mój problem dotyczy obsługi zaznaczania w jqgrid
Zaznaczanie "zwykłe" działa bezproblemowo.
Ale schody mam, gdy pobieram dane z 2 tabel z bazy i łączę je w zapytaniu.
Krótki opis sytuacji:
Są 2 tabele w MySQL (po dwukropku ich pola):
Media: id, Med, Kat, Nr_id, Autor, Tytul
Egzempl: id, Med, Kat, Nr_id, Nr_egz, Dostepny.
Najpierw - zliczam sobie ile będzie rekordów dla mojego warunku:
  1. "SELECT COUNT(*) AS count FROM egzempl WHERE Dostepny='Tak'";

Potem wykonuję niezbędne zapytanie do pobierania rekordów:
  1. "SELECT * FROM egzempl JOIN media ON egzempl.Med = media.Med AND egzempl.Kat = media.Kat AND egzempl.Nr_id = media.Nr_id WHERE Dostepny='Tak';

W ten sposób pobieram "dostępne" dane z dwóch tabel, gdzie dane są sobie równe w polach: Med, Kat, Nr_id.
I je listuję w gridzie:
  1. while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
  2. $response->rows[$i]['id']=$row[id];
  3. $response->rows[$i]['cell']=array($row[Tytul],$row[Autor],$row[Med],$row[Kat],$row[Nr_id],[b]$row[Nr_egz][/b],$row[Wydawnictwo]);
  4. $i++;
  5. }

Nr_egz wytłuściłem - bo z nim jest problem - po prostu listuję do grida wszystkie pola z jednej tabeli + Nr_egz z drugiej tabeli
I teraz sedno problemu:
W gridzie:
dzięki włączonej opcji:
  1. multiselect: true,

mogę zaznaczyć dowolny rekord:
  1. $(document).ready(function(){
  2. $('#btn').click(function(){
  3. var ksiazka;
  4. ksiazka = jQuery("#list2").jqGrid('getGridParam','selarrrow');
  5. $('#box1').load('wypozyczenie_okno1.php', {ksi: ksiazka});
  6. });
  7. });

I dostaję id zaznaczonego rekordu - id pochodzi z tabeli media.
Problemy są 2:
1. Polega na tym, że jak jest w bazie kilka egzemplarzy danej książki - to prawidłowo je wypisuje, tzn. wypisuje książkę z jej namiarami + dany powiązany Nr_egz - np. jeśli są 2 egzemplarze książki - to wypisuje wszystko + Nr_egz=1, następnie znów wszystko + Nr_egz=2. I jak chcę zaznaczyć rekord 2 - to zaznacza mi zawsze pierwszy spełniający "egzempl.Med = media.Med AND egzempl.Kat = media.Kat AND egzempl.Nr_id = media.Nr_id" te 3 warunki :-(
2. Jak pobrać z zaznaczonego rekordu - dany Nr_egz, żeby wykorzystywać wybrany rekord dalej do innego formularza - wszystkie dane pobieram bez problemu, ale jak dostać ten Nr_egz, którego rekord jest akurat zaznaczony?





Może inaczej zadam pytanie - jak przy użyciu jqgrid i opcji multiselect pobrać zawartość całego zaznaczonego rekordu - może być do jakiejś tablicy odpowiednie wartości?
Wszędzie w manualach jest tylko mowa o pobieraniu id zaznaczonego rekordu...?