zend框架:我想展示图片。但我只能在DB的最底线显示图像

时间:2011-02-08 11:42:24

标签: zend-framework

这是我在stackoverflow中的第一个主题。我不是母语为英语的人。

但我有一个大问题。请回答我!

现在我正在制作简单的拍卖网站。

所以,现在我正在制作产品展示页面。

我想要显示图片,标题,auction_endtime。

图像的名称(字符串),标题,auction_endtime从DB获取。

图像的数据来自Folder(/ auction / img /)。

我可以自动显示title,auction_endtime,但图片有问题。

只有显示的图像才是DB图像中最底线的。

该图像显示在每一行。

我无法以正确的每一行显示每张图片。

我尝试了array_merge title,auction_endtime和image的数据。

但是我不能将图像数据用作propper数组。

我在View phtml的文件中尝试了foreach图像的数据。

但是我不能将图像的数据用作数组。

请帮帮我。

非常感谢!

//This is Controller.

//This is zend_form for using images.

public function indexForm()
{
    $form = new Zend_Form();

    $form->setElementDecorators (
        array (
            'ViewHelper',
            'errors',
            array (
                'decorator' => 'Description', 
                'options' => array (
                    'tag' => 'p', 
                    'class' => 'description'
                )
            ),
            'Label'
       ),
       array ('file' ) );

    return $form;
}


public function indexAction()
{
    $form = $this->indexForm ();
    //image's name(string),title,auction_endtime is fetched from DB.
    $select = $this->db->select()->from('displayDB');
    $result = $this->db->fetchAll($select);
    //This is for fetching image's data by image's name.

    foreach ($result as $key => $value) { 
        $form->addElement (
            'image',
            'submitImage',
            array(
                'width' => 200,
                'height' => 200,
                'value' => '/auction/img/'.$result[$key][file_upload],
                'class' => 'fade'
            )
        );

        //This is for view.

        $this->view->assign ( 'image' , $form );

        $this->view->assign('result',$result);

        }
    }
}




//This is View's phtml file.

<div class="content">

    <table class="list" border="0">

    <?php $image=$this->image; ?>

    //Show in table.

    <?php foreach($this->result as $row): ?>

        <td><?php echo $image; ?></td>

        <td><?php echo $row['title']; ?></td>

        <td><?php echo $row['uTimedata_end']; ?></td>

    </tr>

    <?php endforeach; ?>

    </table>

</div>

1 个答案:

答案 0 :(得分:0)

表单元素和视图变量都需要唯一键。上

    $form->addElement (
        'image',
        'submitImage',
        array(
            'width' => 200,
            'height' => 200,
            'value' => '/auction/img/'.$result[$key][file_upload],
            'class' => 'fade'
        )
    );

每次执行此表达式时,都会覆盖元素。 Als on

    $this->view->assign ( 'image' , $form );
    $this->view->assign('result',$result);

视图变量也是如此。