Pobieranie danych z bazy MySQL - "Jeżeli istnieje to


(Thenightshadow) #1

Istnieje tabela, w której kolumny to kolejno: Nadawca Odbiorca IdPostu IdWatku

Całość służy do stworzenia prywatnej wątkowej dyskucji.

Jeżeli użytkownik, A wyśle wiadomość do użytkownika B i odwrotnie (kilkukrotnie powtarzając) w bazie danych powstanie x rekordów z IdWatku = np. x

Jeśli użytkowników jest więcej wątków powstaje znacznie więcej. Rzecz polega jednak na tym, że numer każdego z wątków powtaza sie kilkukrotnie jeśli pod niego odpiętych jest więcej niż jedna wiadomość.

Chciałbym stworzyć listę wątków danego użytkownika. W jaki sposób pobrać jedynie unikatowe numery id wątków z bazy danych? Powiedzmy, że istnieją wątki o Id 1,3,5,6, do któych podpiętych jest po 5 wiadomości, a więc każdy z nich powtarza się 5 krotnie. Chciałbym, by skrypt pobierał jedynie pojedyńczo numery 1,3,5 i 6 i w pętli wyświetlał odpowiedni linki.


(Balon) #2

Hmmm rozumiem ze robisz cos typu forum dyskusyjne… Ja bym zrobil to tak ze masz idPostu, idParent i idPostu to jest po prostu zwykly auto increment a IdParenta (ang. rodzica) to id przodka :] i jezeli zaczynasz watek to ustawiasz zero :] jesli chcesz mozesz tez zapoznac sie z drzewkami sqlowymi :] http://forum.php.pl/index.php?showtopic … hl=drzewka tutaj bylo to poruszane :slight_smile:


(Cudny) #3

No to tak:

Masz id_user’a ktory zaklada watek. Dalej masz id_user AND id_plot czyli powiedzmy id_user=1, id_plot=99;

i teraz tak:

id_user=1 odpowiada w watku id_plot=99 - baza musi wygladac tak:

firstTable:

id_user,id_plot;

secoundTable;

id_plot,id_answer;

I tyle - co wiecej naposac - masz polaczenie miedzy watkiem pytania, odpowiedzi i user’a. Jak cos spiep… to napisz. Tworzysz poprostu relacje miedzy kolesiem, tematem, a odpowiedzia !

Jak utworzysz pare tabel to bedzie intuicyjne…

pzdr