Próbuję uzyskać dane, w których kolejność nie ma znaczenia z unikatowymi identyfikatorami. Więc po prostu moje zapytanie byłobyPHP mysql Wyraźny, tylko ładuj 1 zestaw identyfikatorów
SELECT DISTINCT id1, id2 FROM messages ORDER BY date
Jeśli mam bazę danych zawierającą następujące dane:
id1 | id2 | date
5 | 6 | 1/2/2011
6 | 5 | 1/1/2011
chciałbym wystarczy załadować kolumnę z najnowszej dacie ponieważ identyfikatory są takie same 2 osoby . Naprawdę muszę załadować identyfikatory gdzie jeden z identyfikatorów jest twoje więc moja prawdziwa zapytanie teraz jest
SELECT DISTINCT userid_1, userid_2
FROM messages
WHERE userid_2=$dbid
OR userid_1=$dbid
ORDER BY date
i uzyskać wynik jak [6 5] [5 9] [9 5] [5 15] [5 6] [5 17]
Wyniki 2 i 3 są takie same i 1 i 5 są to samo. Naprawdę tylko 4 wyniki powinny być zapytane. Dzięki!
Z jakiegoś powodu, jeśli to zrobię, ładuje poprawną ilość wierszy, ale w rzeczywistości nie otrzyma żadnych danych. po prostu pokazuje [] [] [] [], która w tych przypadkach powinna pokazywać mi ładowanie identyfikatorów. if ($ wynik> 0) { \t while ($ wiersz = mysql_fetch_assoc ($ zapytanie)) { \t \t echo "[". $ Wiersz [ 'UserID_1'].””. $ Wiersz [ 'userid_2' ]."]"; \t} } –
nvm, zapomniałem, że musisz umieścić w nawiasie [if (userid_1> = userid_2, userid_1, userid_2)]. –
Działa idealnie, ale jeśli nie masz nic przeciwko, możesz mi wytłumaczyć, jak to działa, ponieważ nie jestem całkiem pewien, że to rozumiem. –