Php 如何使用现有ctp文件在mysql的下一行添加新数据?

Php 如何使用现有ctp文件在mysql的下一行添加新数据?,php,Php,控制器 if ($this->request->is('post')) { $a = $_POST['category']; $b = $_POST['subcategory']; $c = $_POST['category1']; $d = $_POST['subcategory1']; // i have checked whether values are comming to controller r not echo $a;

控制器

if ($this->request->is('post')) {
    $a = $_POST['category'];
    $b = $_POST['subcategory'];
    $c = $_POST['category1'];
    $d = $_POST['subcategory1'];
    // i have checked whether values are comming to controller r not

    echo $a;

    echo $b;

    echo $c;

    echo $d;
    //They are comming 

    // I have category and subcategory columns in my databse

    // I want to store $a and $b in one row ,$c and $d values in the next row of my database . 

    // I have written like this


    $this->Bill->create();
    if ($this->Bill->save($this->request->data)) {
        $this->Bill->saveField('category',$a);
        $this->Bill->saveField('subcategory',$b);
        $this->Bill->saveField('category',$c);
        $this->Bill->saveField('subcategory',$d);
            $this->Session->setFlash(__('The Bill has been saved'));
            return $this->redirect(array('controller' => 'Bills','action' => 'view'));
    }
    $this->Session->setFlash(__('The bill could not be saved'));*/
}
// but $c and $d  values are only storing  in row.
如何将$a和$b存储在一行中,将$c和$d值存储在数据库的下一行中


请帮帮我

可能是您必须为它们中的每一个创建一个对象

        $bill_1=new Bill;
        $bill_2=new Bill;
        $this->Bill->create();
        $bill_1->saveField('category',$a);
        $bill_1->saveField('subcategory',$b);
        $bill_2->saveField('category',$c);
        $bill_2->saveField('subcategory',$d);
        if($bill_1->save() && $bill_2->save()){
            $this->Session->setFlash(__('The Bill has been saved'));
            return $this->redirect(array('controller' => 'Bills','action' => 'view'));
        }

        $this->Session->setFlash(__('The bill could not be saved'));*/

我不知道你的方法是如何保存数据的。我只想说,必须创建一个对象才能创建一行。CMIIW。

您需要构建一个键值对数组,然后将其保存在数据库表中

$data = array (
    array(
        'a' => $_POST['category'],
        'b' => $_POST['subcategory']

    ),
    array(
        'a' => $_POST['category'],
        'b' => $_POST['subcategory'],
    ),
);
然后将数组传递给insert查询。问题的根源在于您的数据是如何从$\u帖子中出来的。它应该被格式化并作为键值对数组发送。
希望这有帮助

我想你应该调用`$this->Bill->create()`两次,如果你共享你使用的框架会很有帮助的。你可以添加Bill表的db结构。Post数据都是乱七八糟的,应该是一个键值对数组。这是主要问题。数据是否来自于的html?你能把表格寄出去吗?这将有助于解决这个问题。我正在使用cake php框架。数据来自html格式,欢迎使用。如果你有其他方法,继续分享…:)