gpt4 book ai didi

php - 按特色排序 - php mysql

转载 作者:行者123 更新时间:2023-11-29 14:53:26 25 4
gpt4 key购买 nike

我有一个产品表,其中有一列名为“featured”(int,默认为 0)。当我在第一个位置添加特色产品时,它将在此列中添加值“1”,第二个位置添加值“2”,依此类推。 。我的问题是,当我在第一或第二位置上没有产品,但只有第三或第二位置上有产品时,它会在第一位置上“推广”第三个产品。有没有办法用默认选择查询中的产品填充非促销位置(例如:第一或第二),并在第三个位置上显示“特色”值为 3 的特色产品?

最佳答案

基本上,您需要跟踪已填充的特色空位以及需要填充的空位。您可能还需要担心您的列表是否不够长,无法容纳所有特色老虎机...因此您可以执行以下操作:

$qh = mysql_query('SELECT featured, ... FROM products ORDER BY featured DESC');

//get the featured rows first;
while($row = mysql_fetch_assoc($qh)) {
if($row['featured'] > 0) {
$featured[$row['featured']] = $row;
} else {
break;
}
}
//values were inserted in reverse, so reorder them.
ksort($featured);

$idx = 1;
//make sure there was a next row from above while loop
if($row) {
do {
//print any featured rows that should appear at position $idx
while(isset($featured[$idx])) {
printRow($featured[$idx]);
$idx++;
}
//$idx doesn't have a featured row, so print a non-featured one
printRow($row);
$idx++;
} while($row = mysql_fetch_assoc($qh));
}

//print any remaining featured rows
foreach($featured as $key => $value) {
if($featured >= $idx) {
printRow($value);
}
}

关于php - 按特色排序 - php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5229576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com