Operacja na wielu tabelach w php i mysql

Witam,

Muszę wykonać skrypt, który będzie pobierał mi listę najlepiej ocenianych artykułów

Mam 2 tabele

I. arty

II. oceny

Tabela arty skłąda się z

int id

text tytul

text opis

text tresc

text dodal

Tabela oceny składa się z

int id

int id_artu

int ocena

Z tabeli oceny wyciągam średnią ocen za pomocą avg(`ocena)

Jednak problem się pojaiwa gdy chce wyciagnac wszystkie artykuły wg oceny od największej do najmniejszej z tym, żeby przy każdym artykule pojawiał się jego tytuł, opis, ocena, kto dodał oraz data

Oto mój fragment kodu który to wyciąga

http://phpfi.com/298801

Ale ten kod wyciąga mi tylko jeden artykuł, ten pierwszy dodany

Pomocy

To zapytanie podobne jak pierwsze tylko dodaj jeszcze “ORDER BY ocena DESC”.

dobrze wiem,

ale dlaczego wyświetla mi się tylko jeden art??

Spróbuj w wewnętrznej pętli while zrobić warunek <= lub >= zamiast =

Może źle Ciebie zrozumiałem, ale w tabelach masz dwa klucze podstawowe (id) - chodzi o to, że relacje między tymi tabelami są połączone właśnie tymi kluczami (zawsze wyświetla się tylko jeden wynik). Powinieneś w drugiej tabeli stworzyć inny klucz (nie podstawowy), który byłby wyznacznikiem relacji między tabelami.

Pola: ocena i dodal warto rozbić na inne tabele (mogą występować takie same oceny i tacy sami autorzy - dane nie mogą się powielać).

W zależności jak sobie z tym poradzisz (układ tabel) należy sformuować zapytanie odzwierciedlające relacje między tabelami.

Pozdrawiam.

PS Być może źle zrozumiałem Twój problem - w takim razie nie zwracaj uwagi na moją podpowiedź.