나는 내 대화와 함께 테이블을 얻었고 나는 대화를 알리는 주제로 나열해야한다. 따라서 내가 보낸 사람이거나받는 사람이라면, 그것을 한 대화로 나열해야합니다. 그래서 2 명의 사용자 사이에 어떤 역할을했는지는 중요하지 않습니다.SQL 쿼리에 문제가 있습니다. 내 결과를 구별 할 필요가있다
내가 가지고 그래서 경우 :
1, me, mom, "hello mom, I'm good. How are you?", 1, 23/09-2011
2, mom, me, "hello son, how are you?", 1, 22/09-2011
3, me, dad, "hello dad, how are you?", 1, 20/09-2011
내가 이런 식으로 보여주고 싶은 :
between You and Mom - Hello mom... - 23/09-2011 - 2 messeges
between You and Dad - Hello dad... - 20/09-2011 - 1 message
내가 볼 수 없습니다 m을 눌러 쿼리를 찾습니다. 아마도 DISTINCT와 함께 뭔가.
내가 지금 일하고있어, 너희들이
좋아 PHP
$sql = mysql_query(
"SELECT `fra`, `til`, `besked`, `dato`, `set`, `id`
FROM fisk_beskeder
WHERE til = ".$userid."
OR fra = ".$userid."
ORDER BY id DESC")
or die(mysql_error());
업데이트 : 나를 도와
업데이트
CREATE TABLE IF NOT EXISTS `fisk_beskeder` (
`id` int(11) NOT NULL auto_increment,
`fra` int(11) NOT NULL,
`til` int(11) NOT NULL,
`dato` varchar(50) NOT NULL,
`set` int(11) NOT NULL default '0',
`besked` text NOT NULL,
`svar` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
수 있기를 바랍니다. 필요한 것은 그룹에서 최신 데이터를 가져 오는 것입니다.
SELECT count(id), `id`, `fra`, if(a.fra = $cfg_brugerid, a.til, a.fra) AS other, `til`, `besked`, `dato`, `set`
FROM fisk_beskeder a
WHERE fra = $cfg_brugerid OR til = $cfg_brugerid
GROUP BY other
ORDER BY a.id DESC
정말 *를 수행 * 문자열 목록이 아니라 단지보다 같은 일반적인 결과 세트로 출력을해야합니까? PHP에서 출력 포맷을 수행 할 수 있습니까? –
테이블 구조를 보여줘야합니다. 또한, 지금까지 시도한 것을 게시하십시오. – Bojangles
PHP에서 모든 포맷 작업이 어렵습니다. 미안하지만. 난 그냥 SQL에서 데이터가 필요합니다 – Holsteinkaa