2010-01-03 25 views
0

我正在修改現有的購物車應用程序,所以我正在摸索這一點。使用PHP 5和mySql。什麼會導致字段在PHP中返回數組?

該代碼向客戶端和用戶發送電子郵件消息,以顯示他們感興趣的產品。該頁面正確呈現產品和屬性。當電子郵件發送時,產品部分工作,但屬性不起作用。

它應該顯示屬性,但它只有「數組」這個詞。

電子郵件部分發送此:

產品名稱:(無論該產品是)

屬性:數組

產品選項名稱:(無論產品選項)

此代碼用於生成電子郵件中的產品信息:

$message .= '<p style="font:bold 14px/25px Verdana, Arial, Helvetica, sans-serif; 
margin:0; padding:0;"><strong>List of Products</strong></p><br /><br />' . "\n"; 
if (is_array($arr_product_list)){ 
     foreach($arr_product_list as $value) { 
      $message .= '<strong>' . $value . '</strong><br />' . "\n"; 
     } 
} 

這是用來渲染頁面上顯示的產品代碼:

$productsname = $product['productsName']; 
$attributes = $product['attributes']; 
$products_options_name = $value['products_options_name']; 

$arr_product_list[] = "<strong>Product Name:</strong> $productsname <br />"; 
$arr_product_list[] .= "<strong>Attributes:</strong> $attributes <br />"; 
$arr_product_list[] .= "<strong>Products Options Name:</strong> $products_options_name 
<br />"; 
$arr_product_list[] .= 
"---------------------------------------------------------------"; 

這裏還有什麼是顯示渲染頁面,就應該選擇的產品和屬性上:

<div class="wrapperAttribsOptions"> 
    <h4 class="optionName back"><label class="attribsSelect" for="attrib-14">SPK 
    Model</label></h4> 
<div class="back"> 
    <select name="id[14]" id="attrib-14"> 
    <option value="43">SPK-4</option> 
</select> 
</div> 

我想我真的很困惑的地方是我沒有看到發送郵件的代碼中的任何東西被稱爲attrib-14或id14,所以我有親弄明白這一點。

任何幫助,將不勝感激。

謝謝!

回答

2

通過在表單名稱中使用xyz[],您將PHP中產生的xyz變量轉換爲數組。它從表單中獲取所有xyz值並創建它們的數組。

你必須在PHP中解析數組,例如使用

foreach($attributes as $field) 
    $arr_product_list[] = "$field<br />"; 

,或者使用不同的符號來表示您的字段:

<select name="id_14" id="attrib-14"> 

然而,這樣你必須處理然而,許多id_*領域也有在您的文章輸入。

+0

謝謝,但我並不想改變一切,只得到電子郵件通知工作。它顯示一切正常。 – user80151

+0

我的意思是說,頁面通過生成的代碼呈現,我甚至不知道它是如何生成的。在第一塊代碼中已經有了一個foreach。有沒有辦法可以修改它並讓它起作用? – user80151

0

看來產品將它們的屬性存儲爲一個數組,這是有道理的,因爲可以有很多。

嘗試改變這一行:

$arr_product_list[] .= "<strong>Attributes:</strong> $attributes <br />"; 

$arr_product_list[] .= "<strong>Attributes:</strong>".join(', ', $attributes)."<br />"; 
+0

這是在頁面上顯示產品的線路,它工作正常。產品和屬性顯示正確。一旦選擇了該信息,就會將該信息添加到電子郵件中。我認爲問題在於第一塊代碼。 – user80151

+0

我試過了,現在屬性是空的。在電子郵件中有數組之前,現在什麼也沒有。該頁面仍能正確呈現,但對電子郵件沒有幫助。 – user80151

相關問題