Bardzo dziękuję za odpowiedź, ale w sumie szukałem czegoś innego (chyba), w każdym razie udało mi się to zrobić, ale problem pojawił się nowy. Rekordy ładnie mi się zapisują do kolejnych (rozmnożonych) za pomocą poniższego zapytania (oczywiście późniejszej pętli)
$pozyskanie = "SELECT * FROM (
SELECT
book.id_book AS id_book,
book.imie_nazwisko,
book.nr_od,
book.nr_ob,
book.start,
book.zb,
shot.animals,
shot.ilosc,
ksiega.zatwierdz_l,
ksiega.zatwierdz_s,
ksiega.id_ksiega,
ksiega.forma,
ksiega.masa,
ksiega.cena,
ksiega.zwrot,
ksiega.waluta,
ksiega.przeznaczenie,
0 AS num,
rekordy.n
FROM rekordy, book LEFT JOIN shot ON book.id_book=shot.id_book LEFT JOIN ksiega ON book.id_book=ksiega.id_book WHERE shot.ilosc>'0' and book.nr_ob='{$formData['nr_ob']}' and rekordy.n BETWEEN 1 AND shot.ilosc
UNION
SELECT
book.id_book AS id_book,
book.imie_nazwisko,
book.nr_od,
book.nr_ob,
book.start,
book.zb,
shot.animals1,
shot.ilosc1,
ksiega.zatwierdz_l,
ksiega.zatwierdz_s,
ksiega.id_ksiega,
ksiega.forma1,
ksiega.masa1,
ksiega.cena1,
ksiega.zwrot1,
ksiega.waluta1,
ksiega.przeznaczenie1,
1,
rekordy.n
FROM rekordy, book LEFT JOIN shot ON book.id_book=shot.id_book LEFT JOIN ksiega ON book.id_book=ksiega.id_book WHERE shot.ilosc1>'0' and book.nr_ob='{$formData['nr_ob']}' and rekordy.n BETWEEN 1 AND shot.ilosc1
) ksiega ORDER BY id_book,num LIMIT $from, $ileNaStronie";
mam juz wylistowane rekordy z każdej ewentualnie mnogiej pozycji, teraz mam możliwość zmiany wartości w polach cena i zwrot, jednak przy zapisie zmiana dokonywana jest wyłącznie do pierwszego rekordu. Prawdopodobnie powinienem wykorzystać podczas zapisu moje wirtualne pole 'num' ale niestety nie wiem jak.....