Yii Framework Forum: Customize Un Form - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Customize Un Form Rate Topic: -----

#1 User is offline   costa 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 10-September 12

Posted 10 September 2012 - 10:01 AM

slt voila j'ai un formulaire ou je veux fait ajouter une zone de texte afin recuperer une information.pour cela apres etude je constate qu'il fallait modidifier le model ainsi j'ai ajouter une propiete.mais lorsque j'execute la vue j'ai une CException qui m'informe que cette propiete n'est pas definis alors ke faire.bref voici une extrait de mon code .

 //mon model
class Assign extends CActiveRecord
{
      
	 public $duration; 
	  
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}

	
	public function tableName()
	{
		return 'assignment';
	}

	
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array('Username, Justification, Dateoperation,Duration', 'required'),
			array('Justification', 'length', 'max'=>50),
			// The following rule is used by search().
			// Please remove those attributes that should not be searched.
			array('AssignId, Ticketcode, Username, Justification, Dateoperation,Duration', 'safe', 'on'=>'search'),
		);
	}

	public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
		);
	}

	public function attributeLabels()
	{
		return array(
			'AssignId' => 'Assign',
			'Ticketcode' => 'Ticket',
			'Username' => 'User Account',
			'Justification' => 'Justification',
			'Dateoperation' => 'Dateoperation',
			'Duration' => 'duration',
		);
	}

	
	public function search()
	{
		// Warning: Please modify the following code to remove attributes that
		// should not be searched.

		$criteria=new CDbCriteria;

		$criteria->compare('AssignId',$this->AssignId);
		$criteria->compare('Ticketcode',$this->Ticketcode);
		$criteria->compare('Username',$this->Username);
		$criteria->compare('Justification',$this->Justification,true);
		$criteria->compare('Dateoperation',$this->Dateoperation,true);

		return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}
}


//mon form
<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
	'id'=>'assign-form',
	'enableAjaxValidation'=>false,
)); ?>

	<?php echo $form->errorSummary($model); ?>

	<div class="row">
		<?php echo $form->labelEx($model,'Username'); ?>
		<?php echo $form->textField($model,'Username'); ?>
		<?php echo $form->error($model,'Username'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'Justification'); ?>
		<?php echo $form->textArea($model,'Justification'); ?>
		<?php echo $form->error($model,'Justification'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'Dateoperation'); ?>
		<?php echo $form->textField($model,'Dateoperation'); ?>
		<?php echo $form->error($model,'Dateoperation'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'Duration'); ?>
		<?php echo $form->textField($model,'duration'); ?>
		<!--?php echo $form->error($model,'Ticketcode'); ?-->
	</div>
	
	<div class="row buttons">
		<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
	</div>

<?php $this->endWidget(); ?>



</div><!-- form -->

//ma vue
<div class="view">

	<b><?php echo CHtml::encode($data->getAttributeLabel('AssignId')); ?>:</b>
	<?php echo CHtml::link(CHtml::encode($data->AssignId), array('view', 'id'=>$data->AssignId)); ?>
	<br />

	<b><?php echo CHtml::encode($data->getAttributeLabel('Username')); ?>:</b>
	<?php echo CHtml::encode('Username'); ?>
	<br />

	<b><?php echo CHtml::encode($data->getAttributeLabel('Justification')); ?>:</b>
	<?php echo CHtml::encode($data->Justification); ?>
	<br />

	<b><?php echo CHtml::encode($data->getAttributeLabel('Dateoperation')); ?>:</b>
	<?php echo CHtml::encode($data->Dateoperation); ?>
	<br />
	
<b><?php echo CHtml::encode($data->getAttributeLabel('Duration')); ?>:</b>
	<?php echo CHtml::encode($data->duration); ?>
	<br />

</div>

alors comment customize ce formulaire. a+
0

#2 User is offline   Raoul 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 647
  • Joined: 29-November 08
  • Location:Paris, France

Posted 10 September 2012 - 01:30 PM

Salut Costa,
l'attribut que tu as rajouté c'est '$duration' ? .... si oui, je crois que tu l'as écrit avec une majuscule dans ton formulaire (et un peu partout ailleurs).

B)
0

#3 User is offline   costa 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 10-September 12

Posted 11 September 2012 - 03:40 AM

Merci pour le cou d'oeil c'etait effectivement le probleme.dis j'aimerais aussi savoir sur yii comment faire sa propre requete (select,insert,update,delete).je dois moi meme realiser ces operations.quelqu'un aurait 'il une idee c'est urgent. merci encore. a+
0

#4 User is offline   Raoul 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 647
  • Joined: 29-November 08
  • Location:Paris, France

Posted 11 September 2012 - 06:50 AM

J'imagine que tu ne souhaites pas utiliser les modèles (CActiveRecord) ? .... oui car dans ce cas, c'est très simple d'interagir avec la DB : regarde CActiveRecord et les examples dans le blog de démo.

Si tu veux écrire toi même les requêtes, tu peux par exemple écrire :

	$command = $this->db->createCommand("INSERT INTO mytable (name, id, data) VALUES (:itemname, :userid, :data)");
	$command->bindValue(':name', $this->getUserName());
	$command->bindValue(':id', Yii::app()->getUser()->id);
	$command->bindValue(':data', 'some data');
	$command->execute();


Il te faudra au préalable avoir déclaré un composant DB dans ton fichier de configuration, bien sûr.
Je te conseille d'aller jeter un oeil à la doc CDbConnection ainsi qu'aux autres classes du package system.db.

ciao
B)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users