codeigniter remplir le formulaire à partir de la base de données
Dans le contrôleur, j'ai...
function update($id = null)
{
$this->load->database();
//more code
$data = array();
$data = $this->db->get_where(
'users',
array(
'id' => $id
)
);
$data = $data->result_array();
$data = $data[0];
//more code
$this->load->view('update', $data);
}
Dans la vue, j'ai...
<h5>Username</h5>
<input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" />
<h5>Email</h5>
<input type="text" name="email" value="<?php echo set_value('email'); ?>" size="50" />
<h5>Email Confirmation</h5>
<input type="text" name="emailconf" value="<?php echo set_value('emailconf'); ?>" size="50" />
<h5>Password</h5>
<input type="text" name="password" value="<?php echo set_value('password'); ?>" size="50" />
<h5>Password Confirmation</h5>
<input type="text" name="passconf" value="<?php echo set_value('passconf'); ?>" size="50" />
set_value() n'est pas la lecture de $données
de recherche de valeur=""
à http://codeigniter.com/forums/viewthread/103837/
L'affiche utilise uniquement le set_value() la fonction entre "" valeur="".
Je me demandais comment faire la même chose, mais je ne peux pas le faire fonctionner. De l'aide?
- Pourquoi êtes-vous tirant de données dans le contrôleur, au lieu du modèle?
- parce qu'il (nous) peut... et vous voulez. 😉
Vous devez vous connecter pour publier un commentaire.
set_value nécessite 2 paramètres. nom du champ ET la valeur.
Vous avez besoin:
en supposant que vous êtes de passage à $data['username'] etc.
Je pense que vous n'êtes pas en passant la valeur correctement à la vue.
Dans le Contrôleur de mettre:
puis à l'intérieur de la vue:
Essayez ceci:
Contrôleur:
Au lieu d'utiliser $date[0], j'utilise le nom de la colonne, mais c'est votre décision
Vue:
<?= =>
est PHP balise courte, lire à ce sujet dans le codeigniter guide de l'utilisateurCe qui concerne,
Sylvio
set_value() est conçu pour fonctionner avec de CI de validation de formulaire.
Lorsque le formulaire est chargé pour la première fois, set_value() permet de remplir le champ avec une valeur par défaut à l'aide de son second paramètre. Une fois le formulaire soumis, vous pouvez afficher à nouveau le formulaire et le champ sera rempli avec la valeur qui a été soumis en fournissant il a été vérifié pour la validation.
Voir aussi http://codeigniter.com/forums/viewthread/96617/ - il y a quelques problèmes avec set_value() que les docs ne pas préciser.
Applicable jusqu'à CI 1.7.3 jusqu'à présent.
Essayer d'attribuer des valeurs par défaut à
$_POST
variable dans votre contrôleur, par exemple$_POST['email'] = 'email';