Php 从数据库中获取所有结果,但最低价格显示0价格

Php 从数据库中获取所有结果,但最低价格显示0价格,php,mysql,Php,Mysql,我有一个餐厅的脚本,你可以在你的购物车中添加比萨的1+1报价,我想如果有两个比萨,以实际价格显示最昂贵的比萨,以0.01显示最便宜的比萨,例如,如果用户添加了3个10美元的比萨和3个11美元的比萨,则每个10美元的比萨需要显示11美元,而3个10美元的比萨需要显示0.01,我尝试了所有方法,但无法找到答案 $dbres1plus1 = mysql_query("SELECT * FROM cos_cumparaturi WHERE extra='1plus1' AND ip='$user_ip'

我有一个餐厅的脚本,你可以在你的购物车中添加比萨的1+1报价,我想如果有两个比萨,以实际价格显示最昂贵的比萨,以0.01显示最便宜的比萨,例如,如果用户添加了3个10美元的比萨和3个11美元的比萨,则每个10美元的比萨需要显示11美元,而3个10美元的比萨需要显示0.01,我尝试了所有方法,但无法找到答案

$dbres1plus1 = mysql_query("SELECT * FROM cos_cumparaturi WHERE extra='1plus1' AND ip='$user_ip'");
$numara_pizze = mysql_num_rows($dbres1plus1);
if($numara_pizze % 2 != 0) {

echo '<tr>

                      <td colspan="5"><sup style="color: red;"><strong>Ai adaugat '.$numara_pizze.' pizze in oferta, ai nevoie de '.$numara_pizze_total.' pizze pentru a completa oferta.</strong></sup></td>
                    </tr>';
}
                    }
echo '<tr id="'.$cos{'id'}.'">
                        <td colspan="3"><strong>'.$pizza{'nume'}.'</strong> <em>('.$marime.'cm)</em></td>
                        <td align="right" nowrap="nowrap" style="text-align:right;">'.$pizza{'pret'}*$happyhour.' lei</td>
                                                <td width="20">

                                                <a href="#" class="stergecos" id="'.$cos{'id'}.'">

                        &nbsp;<img style="margin-top:4px;" src="http://website/images/delete_icon.png" widht="16" height="16" border="0" alt="Sterge produs" /></a></td>
                      <td>&nbsp;&nbsp;&nbsp;</td></tr>';                    
} 
}   

我在数据库中有一行是关于价格的。我试图得到最低的数字并替换它,但因为它是一个while循环,所以它替换了所有的价格。

最简单的方法就是在MYSQL中使用orderby。如果按价格说明订购,则可以显示前半部分正确,后半部分为0.01

简单的例子:

<?php
$query = 'SELECT `Pizza`, `Price` FROM `orders` ORDER BY `Price` DESC';

//your code to exec query

//get the row count (example with mysqli)
$nrOfOrders = $result->num_rows;

//1 = pay 1
//2 = pay 1;
//3 = pay 2;
//4 = pay 2;
//etc
$fullPrice = ceil($nrOfOrders/2);

$index = 1;
//loop trough orders
foreach($result as $row)
  if ($index <= $fullPrice) {
    //show full price
  } else {
    //show 0.01
  }

  //increase index
  $index++;
}

?>

在SQL中,您可以测试价格并返回所需内容。我不知道你的桌子是什么样子,但有点像

$sql=选择IFprice
未测试,因为没有表结构,但类似的东西应该可以工作

请显示您的代码,告诉您如何提取数据等等。Short说,让它成为一个你想回答的问题是的,请展示你正在尝试修复的代码…共享你的表结构和一些数据样本会很好。使用提取数据的代码进行后期编辑。向我们展示你的表cos_cumparaturi结构,在这里你写了SELECT语句它与数据库无关,只需阅读,但我试图得到最低的数字,并取代它,但由于它的一个而循环,它取代了所有的价格。不,您没有-没有尝试获取一些最小值或最大值,并且代码中没有循环显示。当然,我们无法选择并替换它。所以,请清楚地问你的问题,以帮助我们帮助你:-这不起作用,因为有时我有不同的价格,但有时我有两个相同价格的比萨饼,比如10美元,我希望一个显示为0.01,另一个显示为10美元的全价…为什么这不起作用呢?正是这样。它显示订单中最昂贵的一半,正常价格,其余为0.01