0

我有一个代码,它从表格 A 中获取发布的数据,然后找到商品的价格并显示它们。现在我需要在第二个表格的正文中使用以下数据做更多的事情: 项目名称 项目数量 项目价格

代码在这里:

<?php
echo "<div style='width:30%; height:auto; border: 2px solid;'>";
    echo "<h1>The Items Are...</h1><br>";
    //array that will hold the sum of each item cost
    $totalAmountArray = array();

    foreach ($_POST['basket'] as $name => $value) 
    {
        //indexer for totalAmountArray
        $i=0;
        if($value > 0){
                //echo $name . ": " . $value . "<br>";

            $itemPrice;
            //reassign 
            $itemName = $name;

            $itemQty = $value;
            //sql connection..
            mysql_connect();
            mysql_select_db("xxxxxx");
            $result = mysql_query("SELECT * FROM pricing WHERE item = '".$name."'");
            while($row = mysql_fetch_array($result)){
                $itemPrice = $row['price'];
                /*DEBUGGING*/
                echo "Item Name: <b>".$itemName . " </b>@ ";
                echo "<b>".$itemPrice ." </b>X ".$itemQty."<br>";
            }//end of while loop

            //multiply to get total for this item - store in temp
            $temp = $itemQty * $itemPrice;
            //store temp at index i in totalAmountArray
            array_push($totalAmountArray, $temp);
            unset($result);
            unset($itemPrice);
            unset($itemQty);
            unset($temp);
        }//end of if-statement
    }//end of foreach
    echo "<h1>Total Amount:<br></h1> ";
    //print_r($totalAmountArray);
    $sum;
    foreach($totalAmountArray as $perItemPrice){
        $sum += $perItemPrice;
    }
    echo "<b>SR. ".$sum."</b>";
echo "</div>";
?>

我正在考虑将从上面的 foreach 返回的所有详细信息存储到多维数组中以具有如下内容:

[0] => itemName => itemQty => itemPrice <br>
[1] => itemName => itemQty => itemPrice <br>
[2] => itemName => itemQty => itemPrice <br>
[3] => itemName => itemQty => itemPrice <br>
.....

这会是最好的方法吗?怎么办?在实践中我真的不熟悉多维数组(仅在理论上)。

非常感谢您的帮助和建议,

4

2 回答 2

1

持有一个数组的数组。制作多维数组可能会有些混乱。对于每个项目,它都包含一个包含所有数据的数组。另一种方法是创建一个对象(类),比如“项目”,它保存表单中的每条数据。然后将每个表单提交对象放入一个数组中进行排序和检索。

所以它会是

[sudo PHP]
class foo
{
     int formID
     string submitterName
     string bar
}

foo->formID = $row['id']

myArray[lastPosition + 1] = foo

for (int i = 0; i < foo.length; i++)
{
    echo foo[i]->formID 
}

我已经好几年没有接触过 PHP了,对看起来怪异的半 PHP 代码感到抱歉,只是想我可能会很快给出答案!

于 2012-04-15T07:35:50.357 回答
1

我可能是错的,但既然你想要一个建议,我只是不明白为什么你会在这种情况下使用二维数组(虽然我可能误解了你的问题并且可能错了,但我认为解决你的问题的最佳方法是在该类中创建一个类 Item 有一个变量 itemName itemQty itemPrice 然后将有关每个对象项的信息存储到一个数组中

于 2012-04-15T07:39:56.500 回答