나는 날짜를 Tuesday 05 June 2012 04:14:44 PM
과 같은 문자열로 저장하는 뉴스 피드를 만들고 있습니다.PHP 날짜별로 정렬 하시겠습니까?
두 가지 일을하고 싶습니다.
- 정렬 (가장 오래된 최신) 날짜별로 뉴스 피드 날짜가 오늘 날짜 인 경우
- 은 (또한 정렬)에만 시간을 보여줍니다.
나는 날짜를 Tuesday 05 June 2012 04:14:44 PM
과 같은 문자열로 저장하는 뉴스 피드를 만들고 있습니다.PHP 날짜별로 정렬 하시겠습니까?
두 가지 일을하고 싶습니다.
이 정렬 방법은 효과적이지 않습니다. ID 열을 추가하고 ID로 정렬 할 수 있습니다. 누군가 게시물을 게시 할 때마다 피드에 삽입됩니다. 증가 된 ID가 삽입됩니다. 그것은 날짜 정렬과 유사합니다 - 당신은 최신을 원합니다.
가장 권장되고 효과적인 정렬 방법입니다.
나는 그 전에 생각했지만 뭔가 생각했다. 그것으로 작동하지 않을 것입니다. 감사합니다 :) – user1436735
흠 ...하지만 왜? 나는 특별한 datetime 필드에 날짜를 저장하는 것이 모든 문제를 해결할 것이라고 생각했다. ID가있는 경우 - 예를 들어 모두 선택하려면 어떻게해야합니까? 'yesterdays'소식? – k102
저장 용량을 "unix timestamp"으로 변경했습니다. 그걸로 whatever format of date you like을 인쇄 할 수 있습니다. 또한 숫자이며 매우 쉽게 정렬 할 수 있습니다.
그게 완벽합니다. 감사! date 함수로 타임 스탬프를 포맷 할 수 있는지 몰랐다. – user1436735
아니, 당신이 알아낼 때 축복의 그런 종류의 .. 이런 종류의 문제도 한번 고생했다;) – Gustav
당신의 문제를 해결할 것 같아요. 그러나 가능한 경우 테이블 디자인을 수정하는 것이 좋습니다.
$result = mysql_query("SELECT * FROM newsfeed");
$records = array();
$i = 0;
while ($row = mysql_fetch_array($result))
{
$records[$i] = array('news_idPK' => $row['news_idPK'],
'date' => date("Y-m-d H:i:s", strtotime($row['date'])),
'news' => $row['news']
);
$i++;
}
usort($records, "cmp");
function cmp($a, $b) {
$a = strtotime($a['date']);
$b = strtotime($b['date']);
return $a - $b;
}
$ctr = count($records)-1;
for($x=$ctr; $x>=0; $x--)
{
$newsDate = date("l d F Y h:i:s A", strtotime($records[$x]['date']));
if(date("Y-m-d", strtotime($records[$x]['date'])) == date("Y-m-d"))
{
$newsDate = date("h:i:s A",strtotime($records[$x]['date']));
}
echo $records[$x]['news_idPK']." - ".$newsDate." - ".$records[$x]['news']." <br/>";
}
그들은 [** 강하게 ** ** mysqli ** 확장을 사용하는 것이 좋습니다 **] (http://php.net/manual/en/mysqli.overview.php) –
: 오, 죄송합니다. :) – sephoy08
'날짜를 문자열로 저장합니다'무엇이 세상 사람들에게 그렇게합니까? 아니, 나는 진짜 관심이있어, 내가 이유를 찾을 수 없기 때문이다. – k102
나는 날짜순으로 정렬 했었지만 시간을 정렬하는 방법을 알아낼 수는 없었습니다. if와 while 문이 많이 포함되어 있지 않아도되었습니다. – user1436735
ID로 뉴스를 저장하거나 strtotime을 사용할 수 있습니다 (), 당신은 숫자를 얻을거야, 숫자가 높을수록, 최근에, 당신은 또한 date() 함수를 사용하여 문자열로 변환 할 수있다. 구글은 당신의 친구이다. :) – HamZa