Cześć!
Stworzyłeś, jak dla mnie, bardzo dziwne zapytanie. Najpierw pobierasz zawartość tabeli
produkty_zamowienia, zliczas jej liczbę wierszy i dalej zakładasz, że taka sama liczba wierwszy będzie w tabelach
produkty i
zamowienia. Moim zdaniem powinieneś stworzyć następujące tabele: klienci (id, imie, nazwisko, adres itd.), produkty (id, nazwa, model, producent, opis itd.) oraz zamowienia (id, id_klienta, id_produktu, status_realizacji itd.). Następnie, na stronie administratora, musisz zacząć od wyświetlenia wszystkich zamówień, np:
SELECT * FROM zamowienia WHERE status_realizacji='niezrealizowane'
Musisz teraz połączyć id_klienta z tabelą klienci i polem id oraz zamowienie z tabelą produkty i polem id. Możesz to zrobić za pomocą pętli, np. pobierasz wszystkie zamówienia, wyświetlasz je za pomocą pętli while, a następnie pobierasz iformacje o klience ustawiając LIMIT 1 w zapytanie i wyświetlasz wiersz, a następnie tworzysz kolejną pętlę z zamówieniami. Jednak ten sposób jest mało profesjonalny i pochłania dużo pamięci. Znacznie lepiej jest użyć funkcji JOIN, która służy do łączenia tabeli. I tak oto możemy połączyć ze sobą tabele zamowienia i klienci:
SELECT * FROM zamowienia INNER JOIN klienci ON zamowienia.id_klienta=klienci.id
Powyższe zapytanie oznacza, że wybieramy wszystkie pola (SELECT *) z tabeli zamowienia oraz (INNER JOIN) klienci gdzie (ON) id_klienta z tabeli zamowienia jest takie samo jak id z tabeli klienci. Całe to zapytanie można wziąć teraz w nawias i używając polecenia AS nadać tak powstałem tabeli nową nazwę-alias, np. zamowienia_klienci:
(SELECT * FROM zamowienia INNER JOIN klienci ON zamowienia.id_klienta=klienci.id) AS zamowienia_klienci
Możemy uzyskać mniej więcej takie dane:
id_produktu 1 - Jan Kowalski,
id_produktu 2 - Jan Kowalski,
id_produktu 3 - Adam Adamczyk, itd.
Powstałą tabelę połącz z tabelą produkty, gdzie znajdzie się szczegółowy opis produktu:
SELECT * FROM (SELECT * FROM zamowienia INNER JOIN klienci ON zamowienia.id_klienta=klienc.id) AS zamowienia_klienci INNER JOIN produkty ON zamowienia_klienci.id_produktu=produkty.id
Dzięki takiego zapytaniu otrzymasz wszystkie 3 tabele połączone w jedną całość. Poczytaj w necie trochę o MySQL JOIN.
Jeśli takie zapytania są dla Ciebie zbyt skomplikowane, a strona sklepu nie jest oblegana przez setki klientów - możesz śmiało skorzystać z pętli, jak opisałem to wcześniej.