Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grupowanie 2 kolum
Forum PHP.pl > Forum > PHP
kajtek2008
Męczę się z grupowaniem juz któryś dzień nie mogę zgrupować tych samych rekordów w 2 kolumnach.
Tworzę czat, z taką strukrurą

CREATE TABLE IF NOT EXISTS `message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`message` text NOT NULL,
`sender` varchar(30) NOT NULL,
`odbiorca` varchar(255) NOT NULL,
`date` varchar(255) NOT NULL,
`status` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=341 ;



Użytkownik raz jest sender a raz jest odbiorca, problem jest taki ze nie mogę skonstruować zapytania które mi połączy wiadomości tego samego użytkownika.

mortus
Dlaczego odbiorcę masz po polsku, a nadawcę już po angielsku, zresztą jak i resztę kolumn?
  1. SELECT * FROM `message` WHERE `sender` = :ID
  2. UNION
  3. SELECT * FROM `message` WHERE `odbiorca` = :ID

gdzie:
:ID - identyfikator użytkownika
kajtek2008
smile.gif Z biegu tworzyłem tabele i nie mogłem sobie przypomnieć jak jest po ang odbiorca smile.gif

Dalej nie wiem jak pogrupować by pokazało 1 rekord dla użytkownika
Cytat
sender -> odbiorca = wiadomość

a_uzytkownik -> b_uzytkownik = teteataetaeta
b_uzytkownik -> a_uzytkownik = zzxaxaxasxa


Jak zrobić by pokazało i to jako 1 rekord.




@edit:

Dobra Panowie siedziałem nad tym zapytaniem z profesofem z uczelni i nie wykombinowaliśmy. Robiliśmy przez UNION, podwójne selekty, mase grupowań, lecz nie działało poprawie


Trzeba stworzyć takie zapytanie by wyświetlało poprawne dane
Przykładowe dane

  1. INSERT INTO `message` (`id`, `message`, `sender`, `odbiorca`, `date`, `status`) VALUES
  2.  
  3. (1, 'adsd', 'poin', 'tek', '1348333394', 0),
  4. (2, 'tetea', 'poin', 'tek', '1348333508', 0),
  5. (3, 'khjkhkh', 'poin', 'tek', '1348333532', 0),
  6. (4, 'hkhkh', 'tek', 'poin', '1348333545', 0),
  7. (5, 'jhgjg', 'tek', 'poin', '1348333561', 0),
  8. (6, 'vdgfd', 'poin', 'tek', '1348333569', 0),
  9. (7, 'fds', 'tek', 'admin', '1356271677', 1),
  10. (8, 'gfgdfgdfggd', 'tek', 'admin', '1356271680', 1),
  11. (9, 'fa', 'tek', 'Fre', '1356294621', 1),




Oczekiwany wynik
Odbiorca -> Data -> Ostatnia wiadomość

Bez duplikatów





Jakieś pomysły ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.