ne bir alan php dizi dönmek neden olur?

2 Cevap

Ben bu yüzden bu yoluyla beceriksiz değilim varolan bir alışveriş sepeti uygulaması değiştirmeye çalışıyorum. PHP 5 ve MySQL kullanarak.

Kod istemci ve sayfa ürün işleme ve nitelikleri doğru olduğunu onlar içeri ilgi hangi ürün gösteriyor kullanıcıya bir e-posta iletisi gönderir. E-posta gönderildiğinde ürün bölümü çalışır ancak nitelikleri işe yaramaz.

Bu niteliklerini göstermek gerekir, ama sadece kelime vardır "Dizi."

The email portion sends this:

Ürün Adı: (ürün ne olursa olsun)

Nitelikleri: Dizi

Ürün Seçenekleri Adı: (ne olursa olsun ürün seçeneği)

This code is used to generate the product info in the email:

$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";
        }
}

This is the code used to display the products on the rendered page:

$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[] .=
"---------------------------------------------------------------";

And here's what is showing on the rendered page where they should choose the product and attribute:

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

Ben gerçekten kafam karıştı nerede şey attrib-14 veya e-posta gönderir kod ID14 denir nerede bu yüzden bu sergiyi sorun yaşıyorum görmüyorum sanırım.

Herhangi bir yardım mutluluk duyacağız.

Teşekkürler!

2 Cevap

Form adı xyz[] kullanarak, bir diziye PHP sonuçlanan xyz değişkeni dönüyor. Bu formda yer alan tüm xyz değerleri alır ve bunları bir dizi oluşturur.

Siz mesela php dizi, çözmek zorunda kalacak kullanma

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

veya alanlar için farklı bir gösterimde kullanın:

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

ancak, ancak çok uğraşmak zorunda olduğu bir yol id_* sizin POST girişi vardır alanları.

Bu ürünleri pek çok olabilir çünkü mantıklı bir dizi olarak kendi özelliklerini saklamak gibi görünüyor.

Bu satırı değiştirmeyi deneyin:

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

karşı

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