2012-02-24 1 views
1

В Yii Я делаю форму, в которой форма имеет поля ввода для деталей пользователя. Я сделал необходимые поля ввода для всех этих полей. Где пользователь может передать все значения. Теперь у меня есть в котором будет отображаться номер формы, который не будет введен пользователем. Он будет генерироваться случайным образом с восходящим порядком, как для 1-й формы, это будет так: FORM:001, Для второй формы это будет так: FORM:002, и он пойдет на. Теперь я хочу, чтобы номер формы был как Form:001, так как это сделать? Помощь и предложения HAny будут очень удобными.Возрастание номеров форм в Yii

[ОБНОВЛЕНО]

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

Это код для просмотра> файла _form.php. и результат ID 0

+1

ли фактическая случайная по возрастанию или просто по возрастанию, что вам нужно? Вы вставляете это в базу данных? Больше информации пожалуйста. – Avanche

+0

Я действительно хочу, чтобы в порядке возрастания. Просто форма: 001, Форма: 002, Форма: 003, Форма: 004 .... Фактически это число появится, когда пользователь пойдет на вставку формы. – NewUser

+0

Вам нужно отобразить это для пользователя? – Avanche

ответ

0

Что вам нужно одно из следующих действий:

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

или в качестве альтернативы выполнить следующие после вставки, и отображать только идентификатор формы, то:

$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)); 

автоматически дает вам последний идентификатор вставленной так что вы можете поместить следующее в ваш взгляд:

echo "Form:".$id; 
+0

I thnk это должно использоваться в файле вида или в контроллере, значение будет присвоено? – NewUser

+0

Значение будет использоваться в вашем файле просмотра, да. – Avanche

+0

спасибо @Avanche за ваш быстрый ответ, но когда я попробовал db-> getLastInsertId(); ?> Он показывает 0 каждый раз. Как решить это? – NewUser

Смежные вопросы