0
使用PHP我希望獲取存儲在MySQL中的類別列表,並根據用戶定義的順序對它們進行排序。下面是代碼是如何工作的,現在:如何根據預定義的順序顯示MySQL結果關聯數組?
主文件
<?php
$categoryList = getCategoryList();
$categoriesPerRow = 4;
$numCategory = count($categoryList);
$columnWidth = (int)(100/$categoriesPerRow);
if ($numCategory > 0) {
$i = 0;
$c = 0;
for ($i; $i < $numCategory; $i++) {
//We skip the dragster category.
if($categoryList[$i]['name'] == "Dragsters"){
continue;
}else{
if ($c % $categoriesPerRow == 0) {
echo '<tr style=\"vertical-align:top;\">';
}
// we have $url, $image, $name, $price
extract ($categoryList[$i]);
echo "<td width=\"$columnWidth%\" align=\"center\" style=\"vertical-align:top;\"><a href=\"$url\"><img src=\"$image\" border=\"0\"><br>$name</a><br></td>\r\n";
if ($c % $categoriesPerRow == $categoriesPerRow - 1) {
echo '</tr>';
}
}
$c++;
}
if ($i % $categoriesPerRow > 0) {
echo '<td colspan="' . ($categoriesPerRow - ($i % $categoriesPerRow)) . '"> </td>';
}
} else {
?>
<tr><td width="100%" align="center" valign="center">No categories yet</td></tr>
<?php
}
?>
文件方含功能getCategoryList()
function getCategoryList()
{
$sql = "SELECT cat_id, cat_name, cat_image
FROM tbl_category
WHERE cat_parent_id = 0
ORDER BY cat_name";
$result = dbQuery($sql);
$cat = array();
while ($row = dbFetchAssoc($result)) {
extract($row);
if ($cat_image) {
$cat_image = WEB_ROOT . 'images/category/' . $cat_image;
} else {
$cat_image = WEB_ROOT . 'images/no-image-small.png';
}
$cat[] = array('url' => $_SERVER['PHP_SELF'] . '?c=' . $cat_id,
'image' => $cat_image,
'name' => $cat_name);
}
return $cat;
}
我也考慮過做一個jQuery界面,用戶可以拖動然後&安排保存類別應顯示的順序。我認爲數據庫中的信息可能是每個類別都有一個存儲訂單號的字段。然後可以使用此訂單號來訂購類別。用PHP實現這一點最有效的方法是什麼?
對於'cat_id',jQuery和'seq_no'一起聽起來不錯;僅適用於單個用戶。祝你好運。 – SparKot