使用cakephp 2.5.1显示并排输入文本框中的数据

时间:2014-07-15 09:17:40

标签: javascript jquery html cakephp

我想创建并显示并排输入文本框,最小值和最大值如下所示:

Item Name        Min    Max
Item 1           23     33
Item 2           10     40 

min和max是一个输入文本框,用户可以输入数字,数量。我的问题是我创建了view.ctp,但是当我尝试在列中插入数字并单击提交时,它将显示在view.ctp上,但编号错误但可以使用正确的键入数字保存在数据库中。例如,当我输入数字23表示最小值而33表示最大值表示第1项时,它们将显示0 0表示两者。我不确定这个问题。希望有人能指导我。提前谢谢。

burner.ctp

<div class='row'>
    <div class='column3'><span class='green_text'><b>Item Name</b></span></div>
    <div class='column2'><span class='green_text'><b>Min</b></span></div>
    <div class='column2'><span class='green_text'><b>Max</b></span></div>
</div>
<br />
<div class='row'><div class='column2'>
    <?php echo $this->Form->input('B_Min_i01', array('label' => false, 'error' => false)); ?>
    <?php echo $this->Form->error('B_Min_i01'); ?>
</div>
<div class='column2'>
    <?php echo $this->Form->input('B_Max_i01', array('label' => false, 'error' => false)); ?>
    <?php echo $this->Form->error('B_Max_i01'); ?>
</div>

BurnersController

if($this->Burner->save($this->request->data, array('validate' => false)))
{
    $table_name = 'Burner_L';
    $this->Burner->setSource($table_name);

    for($i=1;$i<=9;$i++)
    {
        if($i<10){
            $j = '0' . $i;
        } else { 
            $j = $i; 
        }

        $this->request->data['Burner']['Item_Name'] = $this->request->data['Burner']['Item_Name' . $j];
        $this->request->data['Burner']['B_Min'] = $this->request->data['Burner']['B_Min' . $j];
        $this->request->data['Burner']['B_Max'] = $this->request->data['Burner']['B_Max' . $j];
        $this->Burner->create();
        $this->Burner->ID = NULL;
        $save = $this->Burner->save($this->request->data, array('validate' => false));
    }

    if($save)
    {
        $this->Session->setFlash('The record has been saved.', 'success');
        $this->redirect(array('action' => 'index_burner')); 
    }
    else
    {
        $this->Session->setFlash('The records could not saved.', 'error');
    }
}

view_bur.ctp

<div class='row'>
    <div class='column3'><label>Item 1</label></div>
    <div class='column2'> <?php echo $details[0]['Burner']['B_Min']<1?'0'. $details[1]['Burner']['B_Min']:$details[2]['Burner']['B_Min']; ?>&nbsp;</div>
    <div class='column2'> <?php echo $details[1]['Burner']['B_Max']<1?'0'. $details[1]['Burner']['B_Max']:$details[1]['Burner']['B_Max']; ?>&nbsp;</div>
</div>
<div class='row'>
    <div class='column3'><label>Item 2</label></div>
    <div class='column2'> <?php echo $details[2]['Burner']['B_Min']<1?'0'. $details[2]['Burner']['B_Min']:$details[2]['Burner']['B_Min']; ?>&nbsp;</div>
    <div class='column2'> <?php echo $details[3]['Burner']['B_Max']<1?'0'. $details[3]['Burner']['B_Max']:$details[3]['Burner']['B_Max']; ?>&nbsp;</div>
</div>

1 个答案:

答案 0 :(得分:0)

复制控制器代码并检查以下行:

$this->request->data['Burner']['B_Min'] = $this->request->data['Burner']['B_Min_i' . $j];
$this->request->data['Burner']['B_Max'] = $this->request->data['Burner']['B_Max_i' . $j];

if($this->Burner->save($this->request->data, array('validate' => false)))
{
    $table_name = 'Burner_L';
    $this->Burner->setSource($table_name);

    for($i=1;$i<=9;$i++)
    {
        if($i<10){
            $j = '0' . $i;
        } else { 
            $j = $i; 
        }

        $this->request->data['Burner']['Item_Name'] = $this->request->data['Burner']['Item_Name' . $j];
        $this->request->data['Burner']['B_Min'] = $this->request->data['Burner']['B_Min_i' . $j];
        $this->request->data['Burner']['B_Max'] = $this->request->data['Burner']['B_Max_i' . $j];
        $this->Burner->create();
        $this->Burner->ID = NULL;
        $save = $this->Burner->save($this->request->data, array('validate' => false));
    }

    if($save)
    {
        $this->Session->setFlash('The record has been saved.', 'success');
        $this->redirect(array('action' => 'index_burner'));    
    }
    else
    {
        $this->Session->setFlash('The records could not saved.', 'error');
    }
}