Codeigniter: la transmission des données de contrôleur pour afficher
Je veux passer $data
à partir du contrôleur nommé poll
à la results_view
cependant, je suis d'une variable non définie erreur.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Poll extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->helper('form');
}
public function index()
{
$this->load->view('poll_view',$data);
}
public function vote()
{
echo "Voting Successfull";
$this->db->insert('votes',$_POST);
}
public function results()
{
echo "These are the results";
//$query = $this->db->get('votes');
$data = "hello";
$this->load->view('results_view', $data);
}
}
Results_view.php
<html>
<?php echo $data; ?>
</html>
- $data devrait être la matrice de pas variable
Vous devez vous connecter pour publier un commentaire.
$data
devrait être un tableau ou d'un objet: http://codeigniter.com/user_guide/general/views.htmlresults_view.php
En termes simples,
$data['a'] dans le contrôleur devient $un dans votre point de vue. ($données n'existent pas dans votre point de vue, seul l'index sera disponible)
par exemple
La vue ne dirais pas les données "data"
Le contrôleur comprend une associatif index (pas sûr si c'est correct nomenclature) pour les données e.g "trucs" à la recherche ainsi
$data['stuff']
Vous avais
echo
dans la vue afin de:echo $stuff;
pasecho $data;
Je suis un v humbles code fiddler, mais n'aime vraiment CodeIgniter, donc excusez-moi si j'ai ce cul sur branlette espagnole.
Une chose de plus - sûrement votre constructeur de la fonction est un peu du gaspillage. Tout ce que le chargement de bibliothèques et des aides se fait avec le chargement automatique de fichiers.
Vous suffit de créer un tableau, à l'aide de codeigniter droit?
Exemple sur le contrôleur:
En de la page "results_view" il suffit de:
Obs: Vous pouvez créer des n données, faites juste attention au nom et en faire un tableau.
Obs2: utilisation De l'utilisation des données de la clé du tableau avec un echo.
Vous pouvez créer une propriété
$data = []
; à l'intérieur CI_Controller(chemin d'accès: system/core/Controller.php) et de stocker toutes les données à afficher dans la vue. U peut charger des données communes, comme les langues, menu, etc dans CI_Controller. Aussi u peut ajouter des données pour les afficher dans le contrôleur. (exemple:$this->data['message'] = "Hello world";
)Enfin, u peut passer
$this->data
pour afficher lorsque la charge de vue (exemple:$this->load->view('view_name',$this->data);
)J'espère que cela va vous aider à
vous pouvez le faire de cette façon
ensembles définis dans contrôleur
et de passer des variables à vue
Dans votre contrôleur, vous pouvez passer
Dans votre point de vue, vous pouvez appeler
Dans le contrôleur:
En vue:
Ok, donc j'ai enfin résolu. Vous devriez vraiment avoir un modèle (ça aide beaucoup)
Dans votre modèle de faire quelque chose comme
Modèle
Maintenant, si vous avez plus d'un id de dire le nom de sondage # vous pouvez ajouter dans la gamme.
Maintenant, dans votre contrôleur ne
Et enfin dans VUE mettre
C'est d'une grande aide. J'ai pensé à elle par des essais et ça marche pour moi.
J'ai vu tous la réponse ci-dessus voici donc ce que je fais lorsque je charge les données à partir du contrôleur de mon point de vue.
Pour Transmettre les Données À la vue du contrôleur:
Et À la Vue de Côté, Vous pouvez simplement récupérer les données:
Pour les Afficher, Vous pouvez simplement utiliser
echo
,print
,print_r
. Et si vous souhaitez faire une boucle sur elle, vous pouvez le faire aussi bien.Dans le contrôleur:
public function produit(){
"sujet":"l'informatique");
De données à Partir du Modèle de contrôleur de
$les données de Contrôleur pour Afficher
Et à l'accès dans le fichier de vue
views/user.php
Au lieu de
Ne
Dans votre fichier de contrôleur et contrôleur enverra données avoir bonjour comme chaîne à results_view et dans votre fichier de vue, vous pouvez simplement l'accès par
Si vous passez
et d'obtenir des données sur votre point de vue en tant que
Il ne fonctionnera pas parce que l'ic n'a pas compris ce patern. Si comme pour passer de la valeur la forme du contrôleur à la vue de sorte que vous pouvez essayer ce -
contrôleur -
alors, à votre avis, vous pouvez obtenir ces données par
Espère que cela vous aide.