1

私はそのような配列を持っています、私はそれをビューファイルに印刷したいのですが、それは空です、配列はそのようなものです

array(
(int) 0 => array(
    'ProductsUserNode' => array(
        'product_user_node_id' => '155',
        'user_node_id' => '53',
        'product_id' => '1',
        'is_active' => '1',
        'expiry' => '0000-00-00',
        'created' => '2013-01-10 10:27:22',
        'modified' => '2013-01-10 10:27:22',
        'created_view' => '10:27 AM, Jan 10,2013',
        'modified_view' => '10:27 AM, Jan 10,2013'
    ),
    'UserNode' => array(
        'user_node_id' => '53',
        'division_id' => '28',
        'role_id' => '4',
        'user_id' => '56',
        'created' => '2013-01-10 10:27:20',
        'created_view' => '10:27 AM, Jan 10,2013'
    ),
    'Product' => array(
        'product_id' => '1',
        'name' => 'Manager',
    )
),

ビューファイルでこのコードを使用しています

              foreach ($products as $products)
             {
             ?>
            <tr>
                <td>    <?php $products['ProductsUserNode']['product_id']?> </td>
                <td>    <?php $products['Product']['name']?>    </td>
            </tr>
            <?php }?>           

私もそのようにコントローラーに変数を設定しました、

            $this->set('products',$products);

しかし、それは機能していません、何が問題なのですか?前もって感謝します

4

2 に答える 2

2

echoキーワードを使用して、変数を出力します。

 foreach ($products as $product)
 {
 ?>
 <tr>
      <td>    <?php echo $product['ProductsUserNode']['product_id']?> </td>
      <td>    <?php echo $product['Product']['name']?>    </td>
 </tr>
 <?php }?>   
于 2013-02-07T14:02:48.817 に答える
2

foreach ($products as $products) // 間違っている

それを適切に繰り返す必要があります(基本的なphp!):

<?php foreach ($products as $product) { ?>
        <tr>
            <td> <?php echo h($product['ProductsUserNode']['product_id']); ?> </td>
            <td> <?php echo h($product['Product']['name']); ?> </td>
        </tr>
<?php } ?>    

ビューを保護するための h() にも注意してください。

PS: コードを「焼く」必要があります。このようにして、適切に行う方法を学ぶことができます。

于 2013-02-07T14:07:03.467 に答える