2012-04-15 45 views
0

我有一個代碼,從表單A獲取發佈的數據,然後查找商品的價格並顯示它們。現在我需要做更多的以下數據在第二形式的身體: 項目名稱 項目數量 項目價格PHP多維數組或更好的選項?

的代碼是在這裏:

<?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> 
..... 

這會是最好的方式嗎?如何做?我在實踐中(僅在理論上)並不熟悉多維陣列。

非常感謝您的幫助和建議,

回答

1

我可能是錯的,但既然你想要一個建議,我只是不明白爲什麼你會在這種情況下使用二維數組點(雖然我可能會誤解你的問題,可能是錯誤的,但我認爲最好的方法來解決你的問題是創建一個類在該類中的Item有一個變量itemName itemQty itemPrice,然後將有關每個對象項的信息存儲到一個數組中

+0

所以創建一個對象並將這些值存儲在類變量中...我可以這樣做。我會嘗試編碼它現在...不應該花很長時間來知道它是否失敗或不..很抱歉:)感謝隊友 – 2012-04-15 07:42:36

+0

好酷我希望它有幫助 – 2012-04-15 07:44:38

+0

我做到了,我相信它現在工作..現在我至少我想,可以按照我的要求組織展示 – 2012-04-15 08:07:14

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代碼看,只是想我可能快速地提供一個答案!

+0

:PI想知道代碼的外觀,它是一個提交與很多價值都進來了,每個物品都會有其他兩個屬性(價格和數量),所以我懷疑上面的這些幫助是否真的......但是謝謝你的嘗試 – 2012-04-15 07:38:37

+0

你可以在類中有類,所以你可以有一個對象,用於保存數據子集的每種類型的數據ep進一步深入分析。相信我,這是數據在高級應用程序中的組織方式。如果有變化,它是最容易修改的。你想盡量避免受自身本性限制的嚴格結構。 – 2012-04-15 07:52:11