[MySQL]Problem z zapytaniem |
[MySQL]Problem z zapytaniem |
12.03.2017, 16:41:30
Post
#1
|
|
Grupa: Zarejestrowani Postów: 478 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
Witam, mam problem z zapytaniem
mam dwie tabele: - komunikaty (tutaj mam wszystki komunikaty) idkom, tresckom, datakom, potwierdzeniekom oraz - potwierdzenia( tutaj zapisuję kto potwierdzil przeczytanie) idpotw, datapotw, imie_nazwisko, idkom chciałbym wyświetlić wszystkie komunikaty wymagające potwierdzenia, których jeszcze zalogowany user nie przeczytał. Robię to tak ale coś mi nie idzie...
|
|
|
12.03.2017, 16:46:25
Post
#2
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) |
Ale z tego zapytania wynika że wyświetlasz userów które maja puste pole
|
|
|
12.03.2017, 16:50:33
Post
#3
|
|
Grupa: Zarejestrowani Postów: 478 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
więc jak być powinno? przecież gdybym wiedział to nie zakładałbym wątku.
Ale po koleji najpierw szukam czy są komunikaty z potwierdzeniem select * from komunikaty where potwierdzenie = '1' teraz muszę połączyć/sprawdzić czy ja jako zalogowany user już go czytałem czy też nie select * from potwierdzenia where imie_nazwisko like 'MojeNazwisko' and idkom .....? |
|
|
12.03.2017, 16:55:08
Post
#4
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) |
|
|
|
12.03.2017, 17:13:36
Post
#5
|
|
Grupa: Zarejestrowani Postów: 478 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
gdzie w tym zapytaniu kontroluję czy ja go już czytałem czy też nie?
|
|
|
12.03.2017, 18:45:16
Post
#6
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 33 Dołączył: 8.09.2014 Ostrzeżenie: (0%) |
dziwnie skonstruowana baza. Z Twoich tabel wynika, że to są jakieś ogólne komunikaty do wszystkich userów, a nie jakieś indywidualne. W takim razie po co kolumna "komunikaty.potwierdzenieko" wystarczy Ci aby ktokolwiek go potwierdził? Jeśli nie to kolumna jest do wywalenia. powinieneś mieć 3 tabele:
komunikaty: idkom, tresckom, datakom users: id, imie, nazwisko potwierdzenie: idkom, userID, datapotwierdzenia |
|
|
12.03.2017, 19:06:13
Post
#7
|
|
Grupa: Zarejestrowani Postów: 478 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
OK na tym etapie mogę jeszcze wszystko przerobić.
Generalnie mam takie założenia: - baza z komunikatami dla wszystkich, ale pewne z nich muszą posiadać potwierdzenie przeczytania - stąd tabela potwierdzeń, oczywiście baza z userami też jest i funkcjonuje - admin daje jakiś komunikat i ustawia flagę na "ON" - że żąda przeczytania i lecimy dalej.... loguję się do systemu, pojawia mi się modal że mam nieprzeczytaną wiadomość, np zaznaczam chceckboxa, submit insert do bazy np
moim problemem jest "wyłuskanie" nieprzeczytanych komunikatów przy zalogowaniu dla danego usera |
|
|
12.03.2017, 19:52:25
Post
#8
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 33 Dołączył: 8.09.2014 Ostrzeżenie: (0%) |
zamiast
do tabeli wrzucaj userID. po zalogowaniu zapisujesz sobie w sesji ten userID i wtedy zapytanie mogłoby wyglądać np tak (5 to id usera z sesji):
jeżeli komunikaty mają miec flagę on/off to dorzucasz dodatkowy warunek do whera Ten post edytował borabora 12.03.2017, 19:53:33 |
|
|
12.03.2017, 20:49:42
Post
#9
|
|
Grupa: Zarejestrowani Postów: 478 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) |
dziękuję, dokładnie o to mi chodziło
|
|
|
Wersja Lo-Fi | Aktualny czas: 21.06.2024 - 15:56 |