Nieuw lid |
|
Beste Sitemasters!
Ik krijg maar niet voor elkaar, of gevonden op google, hoe ik het volgende voor elkaar kan krijgen:
Er is een array genaamd "downloadgroups" met daarbinnen meerdere arrays opgebouwd op volgende manier:
(ID, ORDER, TITLE, SHORTNAME)
De array downloadgroups bevat 10 items waarbij ID van 1 t/m 10 loopt, ORDER moet de volgorde voorstellen hoe PHP de lijst uiteindelijk moet tonen en kan overdreven gezien 1 2 5 4 3 8 6 7 9 10 zijn. Het resultaat van onderstaande script is dat het order nummer niet wordt aangehouden bij het plaatsen van de info uit de database maar het ID..
$cats = downloadgroups();
function orderBy($data, $field)
{
$code = "return strnatcmp(\$a['$field'], \$b['$field']);";
usort($data, create_function('$a,$b', $code));
return $data;
}
// sort cats by order number
$cats = orderBy($cats, 'order');
for ($i = 0; $i <= count($cats); $i++) {
$sort[$i] = "";
$count[$i] = 0;
}
while ($data = dbarray($result)) {
//SORT CAT_GROUPS
for ($i = 0; $i <= count($cats); $i++) {
if($data['download_cat_group'] == $i) {
if ($count[$i] % $columns == 0) { $sort[$i] .= "<tr>\n"; }
$sort[$i] .= "<td valign='middle' width='50%' class='tbl'><img style='margin:3px' align='left' src='".URL."images/download_cat/".$img."' height='40' width='40' alt='".$data['download_cat_name']."' /></td>\n";
if ($count[$i] % $columns == 1) { $sort[$i] .= "</tr>\n"; }
$count[$i]++;
}
}
}
echo "<div id='acc'>\n";
while(list($key, $title) = each($cats)){
echo " <div id='acc".$key."-header'><h3 class='files-caption top-round'>".$title[title]."</h3></div>\n";
echo " <div id='acc".$key."-content' class='files-content'>\n";
echo " <table cellpadding='0' cellspacing='0' width='100%'>".$sort[$key]."</table>\n";
echo " </div>\n";
}
echo "</div>\n";
$cats = downloadgroups(); function orderBy($data, $field) { $code = "return strnatcmp(\$a['$field'], \$b['$field']);"; return $data; } // sort cats by order number $cats = orderBy($cats, 'order'); for ($i = 0; $i <= count($cats); $i++) { $sort[$i] = ""; $count[$i] = 0; } while ($data = dbarray($result)) { //SORT CAT_GROUPS for ($i = 0; $i <= count($cats); $i++) { if($data['download_cat_group'] == $i) { if ($count[$i] % $columns == 0) { $sort[$i] .= "<tr>\n"; } $sort[$i] .= "<td valign='middle' width='50%' class='tbl'><img style='margin:3px' align='left' src='".URL."images/download_cat/".$img."' height='40' width='40' alt='".$data['download_cat_name']."' /></td>\n"; if ($count[$i] % $columns == 1) { $sort[$i] .= "</tr>\n"; } $count[$i]++; } } } while(list($key, $title) = each($cats)){ echo " <div id='acc".$key."-header'><h3 class='files-caption top-round'>".$title[title ]."</h3></div>\n"; echo " <div id='acc".$key."-content' class='files-content'>\n"; echo " <table cellpadding='0' cellspacing='0' width='100%'>".$sort[$key]."</table>\n"; }
Volgens mij moet er iets aangepast worden in "if($data['download_cat_group'] == $i)" maar ik loop hier op vast..
Heeft er iemand een idee hoe ik kan zorgen dat de data uit de database onder de juiste ID geplaatst wordt??
Alvast bedankt,
Thijs
|