Php 如何检查while循环中当前是否存在值?

Php 如何检查while循环中当前是否存在值?,php,while-loop,Php,While Loop,假设我的数据库中有这个表 id | name | beginventory | sold | datesold 101 | rock | 100 | 5 | 2011-9-12 201 | paper | 50 | 10 | 2011-9-13 301 | pen | 30 | 20 | 2011-10-1 101 | rock | 100 | 10 | 2

假设我的数据库中有这个表

 id  | name  | beginventory | sold | datesold
    101 | rock  | 100          | 5    | 2011-9-12
    201 | paper | 50           | 10   | 2011-9-13
    301 | pen   | 30           | 20   | 2011-10-1
    101 | rock  | 100          | 10   | 2011-10-1
    101 | rock  | 100          | 10   | 2011-10-2
    201 | paper | 50           | 15   | 2011-10-3 
我想显示…的输出

  name  | current | sold | remaining | date sold
    rock  | 100     | 5    | 95        | 2011-9-12
    paper | 50      | 10   | 40        | 2011-9-13
    pen   | 30      | 20   | 10        | 2011-10-1
    rock  | 95      | 10   | 85        | 2011-10-1
    rock  | 85      | 10   | 75        | 2011-10-2
    paper | 40      | 15   | 25        | 2011-10-3
这里是我的脚本(不起作用)

while($info=mysql\u查询($getinfo)){
$name=$info['name']。
; $beginventory=$info['beginventory']。
; $salled=$info['salled'].
$leveling=$beginventory-$salled.“
”; $date=$info['datesell'].
回声'; 回显“.$name.”; 回显“.$current.”; 回音“.$seal.”; 回显“.$剩余”; 回显“.$date.”; 回声'; }
我的问题是如何在while循环中“告诉”PHP,如果“name”已经存在,那么它应该使用前面的$restinue来获取当前的正确值,而不是使用$begininventory来获取$restinue

我知道如果我将值存储在数据库中会更容易,如果我无法解决这个问题,这是我的最后一个选择。

$left=array();
$left = array();

while($info = mysql_query($getinfo)){

    if (!isset($left[$info['name']])) $left[$info['name']] = $info['beginventory'];
    $name = $info['name'].'<br />';
    $beginventory = $left[$info['name']].'<br />';
    $sold = $info['sold'].'<br />'
    $remaining = $beginventory - $sold.'<br />';
    $date = $info['datesold'].'<br />'
    echo '<tr>';
    echo '<td>'.$name.'</td>';
    echo '<td>'.$current.'</td>';
    echo '<td>'.$sold.'</td>';
    echo '<td>'.$remaining.'</td>';
    echo '<td>'.$date.'</td>';
    echo '</tr>';

    $left[$info['name']] -= $info['sold'];
}
而($info=mysql\u查询($getinfo)){ 如果(!isset($left[$info['name']])$left[$info['name']]]=$info['beginventory']; $name=$info['name']。
; $beginventory=$left[$info['name']].
; $salled=$info['salled'].
$leveling=$beginventory-$salled.“
”; $date=$info['datesell'].
回声'; 回显“.$name.”; 回显“.$current.”; 回音“.$seal.”; 回显“.$剩余”; 回显“.$date.”; 回声'; $left[$info['name']]-=$info['sell']; }
$left = array();

while($info = mysql_query($getinfo)){

    if (!isset($left[$info['name']])) $left[$info['name']] = $info['beginventory'];
    $name = $info['name'].'<br />';
    $beginventory = $left[$info['name']].'<br />';
    $sold = $info['sold'].'<br />'
    $remaining = $beginventory - $sold.'<br />';
    $date = $info['datesold'].'<br />'
    echo '<tr>';
    echo '<td>'.$name.'</td>';
    echo '<td>'.$current.'</td>';
    echo '<td>'.$sold.'</td>';
    echo '<td>'.$remaining.'</td>';
    echo '<td>'.$date.'</td>';
    echo '</tr>';

    $left[$info['name']] -= $info['sold'];
}