Bonjours à tous,
Je travaille sur un projet qui me demande de lister un champ (Mysql) en colonne et non sur une seule ligne. Malheureusement je ne suis pas encore suffisament familier avec Symfony 2 pour le faire.
Merci d'avance
Bonjours à tous,
Je travaille sur un projet qui me demande de lister un champ (Mysql) en colonne et non sur une seule ligne. Malheureusement je ne suis pas encore suffisament familier avec Symfony 2 pour le faire.
Merci d'avance
Salut,
Je pense qu'il te suffit de récupérer la valeur de ton champ et ensuite d'utiliser l'explode du PHP
Bonne soirée.
"Rather than love, than monney, than faith, than
fame, than fairness, give me truth."
Est-ce possible dans une page twig
C'est possible, mais il me semble que c'est mieux à faire dans le contrôleur (plutôt même le modèle, si tu veux faire du propre).
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Je vous montre le code je ne comprends pas bien alors si vous avez une solution pour moi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $em = $this->getDoctrine()->getEntityManager(); $entities = $em->getRepository('AdminVocabulaireBundle:voc')->findAll(); $exp = explode(' ',$entities); return array('entities' => $exp);
Ha oui effectivement tu as rater quelques trucs
Tu devrais relire ce passage de la documentation de twig :
http://www.twig-project.org/doc/templates.html#for
Ou un exemple plus complet :
http://www.dobervich.com/2011/03/15/...ing-doctrine2/
Ton $entitites est déjà un objet contenant toutes les lignes. Tu n'as donc pas besoin de l'explode tout va bien se faire dans ton template.
Si je comprends bien
devrait faire l'affaire, mais cela ne fonctionne pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <h1>Members</h1> <ul> {% for user in users %} <li>{{ user.username|e }}</li> {% endfor %} </ul>
merci encore de vos précieux conseils
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Il n'y a aucun message d'erreur seulement je n'arrive pas à faire une colonne à la place d'une ligne...
j'obtiens ce la:
Aujourd'hui demain hier jamais tranquillement petit demain progressivement
mais je veux cela
Aujourd'hui
demain
hier
jamais
tranquillement
petit
demain
progressivement
merci encore
Et tout cela provient d'un seul et même champ dans un seul et même enregistrement dans ta base de données, c'est bien ça ? Dans ce cas, explode(' ', $var) suffira. Mais le code que tu as montré ne représente pas ça : là, tu récupères tous les enregistrements de la table.
Sans ORM, quelle requête effectuerais-tu sur la table ? Quel est son schéma (plutôt la définition de l'entité, vu que c'est avec ça que tu devras travailler) ?
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Voici le code dans l'entité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /** * @var string $mots * * @ORM\Column(name="mots", type="string", length=500) */ private $mots;je connais la requête en php mais avec symfony je suis un peu perdu pour récupérer les données et les afficher(le generateur fait tout sans probleme) sauf un explode...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /** * Set mots * * @param string $mots */ public function setMots($mots) { $this->mots = $mots; } /** * Get mots * * @return string */ public function getMots() { return $this->mots; }
J'aurais donc plutôt fait ça ($id étant l'identifiant de l'enregistrement que tu veux) :
Par contre, je te rappelle la première forme normale des bases de données, qui contient notamment le principe d'atomicité de l'information ! http://sqlpro.developpez.com/cours/standards/#L2.2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $em = $this->getDoctrine()->getEntityManager(); $entity = $em->getRepository('AdminVocabulaireBundle:voc')->findOneBy($id); return array('entities' => explode(' ', $entity));
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Merci,
Mais j'ai encore un souci
voici: l'erreur
Notice: Undefined variable: id in C:\wamp\www\Admin\src\Admin\PublicBundle\Controller\PublicController.php line 77
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /** * @Route("/vocabulaire", name="devoirs_voc") * @Template() */ public function vocabulaireAction() { $em = $this->getDoctrine()->getEntityManager(); $entity = $em->getRepository('AdminVocabulaireBundle:voc')->findOneBy($id); return array('entities' => explode(' ', $entity)); }
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Le id c'est ok mais ça ne fonctionne pas
Quel id veux-tu ? Il suffit de remplacer $id par ça. Tu peux aussi le récupérer en paramètre d'une route.
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
Si tu as bien une ligne en base par ligne que tu veux ce qui a l'air d'être le cas d'après ton post d'après.
C'est plus un soucis de html que de symfony.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h1>Members</h1> {% for user in users %} {{ user.username|e }}br /> {% endfor %}
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h1>Members</h1> {% for user in users %} <div>{{ user.username|e }}</div> {% endfor %}
J'ai mis dans mon controller le code que tu m'as donnée. Mais l'erreur
Notice: Undefined variable: id in C:\wamp\www\Admin\src\Admin\PublicBundle\Controller\PublicController.php line 77
500 Internal Server Error - ErrorException
apparait...je ne comprends pas..
PS je demande à mon controller PublicBundle d'aller chercher entity dans AdminVocabulaireBundle est-ce le problème.. Mais je ne crois pas puisque je peux afficher les données sauf qu'elles ne sont pas en colonne.
merci je sais que je demande beaucoup j'espère pouvoir donner un de ces jours
Le problème est pourtant simple : tu utilises une variable qui n'existe pas. Il faut donc la définir d'une manière ou d'une autre. Là, nous ne pouvons pas te présenter du code à copier-coller, ce que tu sembles vouloir, en tant que bon débutant qui souhaite absolument une solution sans même chercher à comprendre, pour venir ensuite venir pleurer sur les forums pour obtenir une autre solution toute faite et prête à copier-coller, sans jamais rien apprendre, en restant entièrement dépendant des autre, il faut absolument que tu saches de quel enregistrement tu veux les données. Sans ça, tu auras toujours ce warning. Si tu les veux tous, alors il va falloir ajouter une boucle pour itérer sur tous les éléments, explode()er tout ça et mettre le tout dans un tableau (voir l'excellent http://sylvie-vauthier.developpez.co...rand-debutant/).
Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.
Créer des applications graphiques en Python avec PyQt5
Créer des applications avec Qt 5.
Pas de question d'ordre technique par MP !
En réalité je sais très facilement faire un explode avec php brute. Par contre je ne comprends pas bien symfony et les différents bundle et surtout doctrine que je n'utilise qu'avec la console. Jusqu'à présent je n'avait pas besoin d'aide mais pour ce problème particulier je ne trouve pas de solution ni dans la documentation de symfony 2 ni dans celle de Doctrine. Alors désolée d'avoir abusé de ton temps...
PS la variable existe dans l'entité AdminVocabulaireBundle:voc
Mais mon bundle AdminPublicBundle ne la voit pas.. Comme j'ai dit dans un autre post si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 /** * @var integer $id * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id;
aucun problème je vois les mots en ligne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 /** * @Route("/vocabulaire", name="devoirs_voc") * @Template() */ public function vocabulaireAction() { $em = $this->getDoctrine()->getEntityManager(); $entity = $em->getRepository('AdminVocabulaireBundle:Voc')->findall(); return array('entities' => $entity); }
Est-ce que le problème est facile à résoudre surement mais je ne vois pas pour l'instant...
Alors je suis désolé encore une fois et merci à ceux qui voudront bien me répondre...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager