如何将数组插入mysql一行一行?

时间:2009-10-14 16:35:37

标签: php zend-framework frameworks

我正在使用Zend Framework。 我想将数组$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 ????

}
谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

您可以在数组上执行foreach(),然后使用explode()然后foreach项在DbTable模型上发出Add命令。

答案 1 :(得分:0)

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