Yii中的升序表格编号

时间:2012-02-24 18:45:00

标签: php yii

在Yii中我正在做一个表单,其中表单包含用户详细信息的输入字段。我为所有这些字段创建了必要的输入字段。用户可以提交所有值。现在我有一个字段,它将显示用户不会输入的表格编号。它将按升序随机生成 对于第一个表单,它将是这样的FORM:001,对于第二个表单,它将像FORM:002一样继续。 现在我希望表单编号类似于Form:001,那么如何做到这一点?没有任何帮助和建议会非常适合。

[增订]

  <div class="row">
    <?php echo $form->labelEx($model,'id'); ?>
    <?php echo Yii::app()->db->getLastInsertId();?>
    <?php echo $form->error($model,'id'); ?>
  </div>

这是视图&gt;的代码_form.php文件。 结果是ID 0

1 个答案:

答案 0 :(得分:0)

您需要的是以下任何一项:

$maxFormId= Yii::app()->db->createCommand()
->select('max(id) as max')
->from('tbl_yourtable')
->queryScalar();
$yourFormId = "Form:".($maxFormId+ 1);

或者在插入后运行以下命令,然后只显示表单id:

$yourFormId = "Form:".Yii::app()->db->getLastInsertId();

更新:

public function actionCreate()
    {
        $model=new YourModel;

        if(isset($_POST['YourForm']))
        {
            $model->attributes=$_POST['YourForm'];
            if($model->save())
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('create',array(
        'model'=>$model,
        ));
    }

在上面:

$this->redirect(array('view','id'=>$model->id));

会自动为您提供最后插入的ID,以便您可以在视图中添加以下内容:

echo "Form:".$id;