在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
答案 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;