Jump to content

[SOLVED] How to: Sort records into same month by timestamp?


Hilly_2004

Recommended Posts

Hi guys,

 

Bit of help. I have a table in a database called tbl_news.

 

How would I go about sorting all of the records in that table into the same month by the timestamps at which they were created....

 

e.g.

 

Basically I want the page to dynamically check if records were posted in a certain month of the year and if they were echo a link......

 

June 2008

May 2008

April 2008

 

Then that link would go to a page where all the news stories posted in that month would be displayed.

Link to comment
Share on other sites

What exactly when do you want to sort them?

 

When exactly do you want to sort them?

 

Do you want to sort them when someone requests only post from May 2008 or sort them and write them to a text document or ?

 

 

What I have in mind is for example a blog or news article archive where you could click "April 2008" and see all posts from that month... is that what you wanna do?

Link to comment
Share on other sites

Spot on Wuhtzu...

 

In my mind I see 2 pages.

 

1st page is a script which gets all the records in tbl_news and checks to see which month and it's year a record has been added

 

e.g. Has there been anything posted in April 2008? No....don't display a link. Has there been anything posted in May 2008? Yes........display "May 2008" and a link to the next page.

 

The next page then displays all of the records added in May 2008 which might be 4 or 5.

 

Hope that makes sense?

Link to comment
Share on other sites

SELECT * FROM `database` WHERE `date` LIKE '200805%' ORDER BY `date` Assuming you're using a mysql timestamp

The problem with that I'm guessing is that it requires me to enter the specific month e.g. May 2008.

 

I want the script to dynamically check if there have been any records created, and sort them into the relevant months....

 

e.g. The end list may look like:

 

June 2007

January 2008

April 2008

May 2008 etc....

Link to comment
Share on other sites

Works a treat....cheers Barand. One more, and I think this is the easy part.

 

Obviously with this it will echo out:

 

July 2008 etc...

 

On the next page I have to pass across a variable for the SELECT procedure to get all of the records in that month.

 

Will it be something like:

 

SELECT * FROM tbl_news WHERE Date =  '%M %Y' ORDER BY Date

Link to comment
Share on other sites

You will need to select two date formats

 

- the one to be displayed (which you have now)

- the one for the link

 

<?php
$sql = "SELECT DISTINCT 
		DATE_FORMAT(Date, '%M %Y') as monthyear, 
		DATE_FORMAT(Date,'%Y-%m') as link
		FROM tbl_news ORDER BY Date";
$result = mysql_query($sql);

while($myrow = mysql_fetch_array($result))
{
echo "<a href='showItems.php?month={$myrow['link']}'>$monthyear</a></br>";
}
?>

 

On the linked page (showItems.php) you beed something like

 

<?php
$search = $_GET['month'];
$sql = "SELECT * FROM tbl_news WHERE Date LIKE '$search%' ORDER BY Date"

// process query
?>

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.