【问题标题】:How to insert array to mysql one word one row?如何将数组插入mysql一字一行?
【发布时间】:2009-10-14 16:35:36
【问题描述】:

我正在使用 Zend 框架。 我想将数组$color = array('red', 'blue', 'green', 'yellow'); 插入mysql,一种颜色到一行。 如何在我的模型文件中对此进行编码?

控制器

public function addAction()
{
    $this->view->Title = "Add Colors";
    $this->view->headTitle($this->view->title, 'PREPEND');

    $form = new Form_Color();
    $form->submit->setLabel('Add');
    $this->view->form = $form;
    
    if ($this->getRequest()->isPost()) {
        $formData = $this->_request->getPost();
        if ($form->isValid($formData)) {
            $color = $form->getValue('color');
            $colors = new Model_DbTable_Colors();
            $colors->addColor($color);
            
            $this->_redirect('/');
        } else {
            $form->populate($formData);
        }
    }
}

型号

public function addColor($color)
{
     $data = explode("\n",$color);
    
     // How to coding for insert one color one row ????

}

感谢您的宝贵时间。

【问题讨论】:

    标签: php zend-framework frameworks


    【解决方案1】:

    您可以在数组上执行一个 foreach() 来为您提供 explode(),然后 foreach 项目在您的 DbTable 模型上发出一个 Add 命令。

    【讨论】:

      【解决方案2】:

      如果 $color 是一个数组,你可以做一个 foreach 循环

      public function addColor($color) {
         foreach($color as $color_key=>$color_data) {
            // $color_data is the value like red, green, blue
            // $color_key is the index of the array that holds the color
            echo "The array index is: ".$color_key." for Color: ".$color_data."<br />\n";
         }
      }
      

      【讨论】:

        猜你喜欢
        • 2018-03-11
        • 2012-07-23
        • 2012-04-22
        • 2011-05-05
        • 2018-03-12
        • 2013-01-01
        • 2023-03-19
        • 2010-10-29
        • 2018-09-22
        相关资源
        最近更新 更多