Strona 1 z 1

brak koncepcji

PostNapisane: 7 sierpnia 2005, o 21:08
przez kalu111
kompletnie sie pogubilem.
mam tabele ktora przechowwyuje artykuly.
chce, aby do kazdego artykulu mozna dodawac komentarze.
no i teraz nie wiem jak sie do tego zabrac, aby pare komentarzy bylo przyporzadkowanych do danego artykulu.
myslalem cos o powiazanych tabelach i funkcji mysql_insert_id(), ale nie wiem jak to uzyc w praktyce, tzn troche wiem ale mi nie wychodzi. BRAK KONCEPCJI.

brak koncepcji

PostNapisane: 7 sierpnia 2005, o 21:21
przez januzi
kazdy artykul ma wlasny kod, np. pole auto_inc w ktorym masz kolejne numery
komentarze:
id int
komentarz text
artykul int

w kolumnie artykul masz id artykulu i juz, pobierasz z warunkiem WHERE artykul = $id_artykulu

brak koncepcji

PostNapisane: 8 sierpnia 2005, o 10:47
przez DEXTER:)
Ja mam tak:
TEKSTY:
|ID|tytul|data|tresc|

KOMENTARZE:
|ID|ID_teksty|ID_uzytkownicy|tytul|data|tresc|

Artykuł wczytuje się ze zmiennej przechowującej ID tekstu: $art=7

// wyświetl tekst o ID = $art
// wyświetl komentarze, gdzie ID_teksty = $art

Prawda że proste :?: :)

PostNapisane: 8 sierpnia 2005, o 11:05
przez kalu111
no ja zrobilem podobnie.
jedna tabela to artykuly, druga komentarze a trzecia to news, ktora skalda sie z news_id | art_id | kom_id
i w jedmym zapytaniu odwouje sie do news, co wyswietli mi komentarze i artykul za jednym zapytaniem, z tym ze jezeli jest pare komentarzy do jednego artykulu to artykul wyswietli sie tyle razy ile jest komentarzy.
czy musze to koniecznie rozbic na 2 zapytania :?:

PostNapisane: 8 sierpnia 2005, o 11:20
przez DEXTER:)
Patrz na mój przykład. Musisz zastosować dwa zapytania, jedno zwraca artykuł, drugie komentarze i inaczej się chyba nie da.

PostNapisane: 8 sierpnia 2005, o 16:06
przez kalu111
moja struktura glownej tabeli news w MYSQLwyglada tak:
news_id | artykul_id | komentarze_id
1 2 1
2 2 2
3 3 3
4 3 4

dodaje komentarz do tabeli komentarz, pozniej pobieram jej id za pomoc mysql_insert_id i dodaje do tabeli glownej news.
wszystko ladnie gra, ale...
na stronie glownej, gdzie sa wyswietlone czesci kazdego artykulu (naglowki) chcialbym wyswietlic liczbe komentarzy.
problem w tym, ze nie moge odwolac sie do komentarzy bo nie wiem jak okreslic indywidualny id tego wlasnie artykulu.

edit:
No, gitara gra
Poradzilem sobie
Zastosowalem coś takiego Kod:

SELECT //blablabla, COUNT(komentarz) AS ile_kom, //bla bla bla FROM news AS n, artykul AS a, komentarze AS k WHERE n.komentarz_id=k.komentarz_id AND n.artykul_id=a.artykul_id GROUP BY artykul_a ORDER BY //bla bla DESC, //bla blas DESC LIMIT 6

i liczba komentarzy sie wyswietla

edit:
no to sie chyba za szybko pochwalilem
zauwazylem, ze funkcja COUNT() nie wyswietla rzedów gdy ich wartosc wynosci null.
w moim przypadku gdy jakis artykul nie ma komentarza w ogole nie wyswietla go , stosujac poprzednie zapytanie w oststnim moim poscie.

czy istnieje jaks funkcja w php, ktora moglaby sprawdzic, czy w danej kolumnie jest jakas wartosc(okreslone id artykulu).

MOD: prosze uzywac przycisku ZMIEN do EDYCJI postu!!!

spoko, bede uzywal
czy ktos wie jak to zrobic, odpowiedzcie bo ja uz sil nie mam, czy jest wogole jakas na to metoda, jak nie to juz sie dalej meczyc nie bede.