如何在数据中按照金额多少排序啊
while ($row=mysql_fetch_array($info)) {
$sql="Select sum(orders_products.products_price) as 'price',sum(orders_products.products_quantity) as 'num' From orders_products,orders Where orders_products.orders_id=orders.orders_id and orders.ispay=1 and orders_products.products_id=".$row[products_id];
$infos=mysql_query($sql);
if ($infos) {
$price_row=mysql_fetch_array($infos);
         $money="".$row[products_id]."=>".$price_row[price]."";  这个数组里第一个是产品的id,后面是金额
$total_all=$total_all.",".$money;
}
}
}
//自己产品销量排名,主要是这里如何排序
$order=explode(",",$total_all);
arsort($order);
$size=count($order);
for($i=0; $i<$size; $i++) {
echo($order[$i])."<br>";
}
?>

解决方案 »

  1.   


    $total_all=$total_all.",".$money; //不知道你这句用意何为?有$meney数组不就行了吗?
      

  2.   

    $total_all=$total_all.",".$money  //意思是一个已逗号区分的数组
    $money  // 里面是产品id和金额 如  1=》100,1是产品id是1,销售是100元
      

  3.   

    那是数组里面的排序  我不太清楚php里面是否有对数组进行排序的函数  如果设计一个排序算法  结合起来  应该可以
      

  4.   

    最好是数据库里读出来的时候就用order by 来进行排序。就省了后面的排序了。如果非要读出以后才按照数值来进行排序就用asort()函数。
      

  5.   

    if ($info) {
    while ($row=mysql_fetch_array($info)) {
    $sql="Select sum(orders_products.products_price) as 'price',sum(orders_products.products_quantity) as 'num' From orders_products,orders Where orders_products.orders_id=orders.orders_id and orders.ispay=1 and orders_products.products_id=".$row[products_id];
    $infos=mysql_query($sql);
    if ($infos) {
    $price_row=mysql_fetch_array($infos);

    //$pro_name=$SqlDB->getname($row[products_id],'products_description','products_id','products_name');
    if ($price_row[price] =="") {
    $prices=0;
    }else{
    $prices=$price_row[price];
    }
    $total_all[$row[products_id]]=$prices;
    }
    }
    }
    //所有产品销量排名
    arsort($total_all);
    //print_r($order);
    $size=count($total_all);
    foreach ($total_all as $key => $value) {
    $pro_name=$SqlDB->getname($key,'products_description','products_id','products_name');
    echo $pro_name."=".$value."<br>";
    }
    ?>这个是正确的 ,虽然是自己解决的 ,我也会给大家结贴