Hello.
It's been a while that I use your script, but today I'm front of a probleme to range my results from an array.
Usually I use the function USORT like you shown me years ago but for my actual dev I want to show my result randomly.
So actually I display my results like this (alphabetically or by price):
$records = array();
if(!$_GET['page'])$page = 1; // If there is a current page number, use it.
else $page = $_GET['page']; //If there is no page number, set one!
$total_number_of_items = 0; //Count the total number of items in the xml feed
$items_per_page = 6; //Set the number of items displayed per page
$counter = 0;
function myRecordHandler($record)
{
global $lamarque;
global $records;
global $total_number_of_items;
// DEFINIR MES VARIABLES DE RECHERCHE
if ($record["MARQUE"]<> $lamarque) return;
$records[] = $record;
// increment total number of records for use in navigation
$total_number_of_items++;
}
MagicParser_parse("proteinesflux.xml","myRecordHandler","xml|PRODUCTS/PRODUCT/");
function cmp($a, $b)
{
if ($a["NOM"] == $b["NOM"]) {
return 0;
}
return ($a["NOM"] < $b["NOM"]) ? 1 : -1;
}
usort($records,"cmp");
// now display or use the sorted records
foreach($records as $record)
{
$counter++;
// return false whilst parsing items on previous pages
if ($counter <= (($page-1)*$items_per_page)) continue;
echo "".$record["IDNETA"]." \n\n";
// exit loop if reached maximum to display on page
if ($counter == ($page * $items_per_page)) break;
}
// finally create navigation bars
$total_pages_count = ceil($total_number_of_items/$items_per_page);
unset($_GET['page']);
$page_href = http_build_query($_GET);
Hello ruben,
You can use shuffle() to randomise an array - so in your code in place of:
usort($records,"cmp");
...just use:
shuffle($records);
Cheers!
David
--
MagicParser.com