alen Posted February 20, 2007 Share Posted February 20, 2007 I made this simple guestbook script which stores everything in a file. I would have used a sql database, but I don't have one. Anyway .. I need to sort the entries. The newest entry comes first. You can find my script at; http://anigma.sitees.com/Guestbook/index.phps http://anigma.sitees.com/Guestbook/lagre.phps (lagre=save) and you can test my script here; http://anigma.sitees.com/Gjestebok/index.php Any idea on what I can do? I know how to sort it with MySQL, but I think it's not quite the same. Quote Link to comment Share on other sites More sharing options...
skali Posted February 20, 2007 Share Posted February 20, 2007 You can read all the entires in array with keys of the array set to the date of each entry. You can then sort the array. Quote Link to comment Share on other sites More sharing options...
alen Posted February 20, 2007 Author Share Posted February 20, 2007 Could you show me an example? Thanks! I'm new to this Quote Link to comment Share on other sites More sharing options...
alen Posted February 21, 2007 Author Share Posted February 21, 2007 No one? Quote Link to comment Share on other sites More sharing options...
tom100 Posted February 21, 2007 Share Posted February 21, 2007 I posted this yesterday, may be of use to you. <?php function setSortVar(&$item, $key, $sortBy) { $item[0]=$item[$sortBy]; } function myArraySort($x, $y) { if ($x[0] == $y[0]) { return 0; } else if ($x[0] < $y[0]) { return -1; } return 1; } $myCollection = array(); $myCollection[0][0]=""; // Sorting Value $myCollection[0][1]="Die Die Die"; // Name $myCollection[0][2]="Movie"; // Main Category $myCollection[0][3]="DVD"; // Sub Category $myCollection[0][4]="Drama"; // Type of movie $myCollection[1][0]=""; // Sorting Value $myCollection[1][1]="Worm Race"; // Name $myCollection[1][2]="Movie"; // Main Category $myCollection[1][3]="DVD"; // Sub Category $myCollection[1][4]="Action"; // Type of movie $myCollection[2][0]=""; // Sorting Value $myCollection[2][1]="Ha ha."; // Name $myCollection[2][2]="Movie"; // Main Category $myCollection[2][3]="HDDVD"; // Sub Category $myCollection[2][4]="Comedy"; // Type of movie $sortBy=1; //Look for sort vars if (isset($_GET['sortBy'])) { switch ($_GET['sortBy']) { case 1: $sortBy=1; break; case 2: $sortBy=2; break; case 3: $sortBy=3; break; case 4: $sortBy=4; break; default: $sortBy=1; break; } } array_walk($myCollection, 'setSortVar', $sortBy); usort($myCollection, 'myArraySort'); print_r($myCollection); ?> Quote Link to comment Share on other sites More sharing options...
skali Posted February 21, 2007 Share Posted February 21, 2007 1- use file("filepath"); function to read all the entries line by line in an array. 2- now you can loop through all the elements of the array and parse each array element. 3- find out date in the array element. 4- craeate another array and put date as key of the array element and rest of the data as value. 5- use ksort(), krsort() array functions to sort the array. Hope this will help Quote Link to comment Share on other sites More sharing options...
alen Posted February 21, 2007 Author Share Posted February 21, 2007 Thanks, both of you. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.