IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Formulaire recherche avec requete jointure


Sujet :

PHP

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Août 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Formulaire recherche avec requete jointure
    Bonjours, j'ai réaliser un petit projet , et je n'arrive pas a faire un formulaire qui va récupéré la liste des chef d’équipe qui un est un champ présent dans mes 2 base de donne horaire poste,

    j'ai fait une requête sur les 2 table avec une jointure je souhaite tout récupéré par le champs chef d’équipe avec un bouton déroulant sur l'interface voici mon code aider moi s'il vous plaie ;

    controleur
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    **
     * @Route("/poste")
     */
    class PosteController extends Controller
    {
        /**
         * @Route("/", name="poste_index", methods={"GET","POST"})
         * @param PosteRepository $posteRepository
         * @return Response
         */
       public function index(PosteRepository $posteRepository): Response
        {
            return $this->render('poste/index.html.twig', [
                'postes' => $posteRepository->findAll(),
            ]);
    }
     
      /**
         * @Route("/", name="index_2", methods={"GET","POST"})
         * @param Request $resquest
         * @param PosteRepository $posteRepository
         * @return Response
         */
        public function index_2 (Request $resquest, PosteRepository $posteRepository): Response
        {
            {
                $poste= new Poste();
                // creation du formulaire
     
                $form = $this->createForm(PosteType::class, $poste, array(
     
     
                // Il n'est pas mappé
     
                if ($form->isSubmitted() && $form->isValid()) {
     
                    // Requête recupére la liste d'event campus
                    $postes = $posteRepository->filter($this->$form->getChefEquipe('chef_equipe')->getData());
     
                    // On redirige vers la  vue
                    return $this->render('poste/filtreChef.html.twig', ['postes' => $postes, 'form' => $form->createView()]);
                }
                return $this->render('poste/filtreChef.html.twig', ['postes' => $posteRepository, 'form' => $form->createView()]);
            }
        }
    entity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     /**
         * @ORM\Column(type="string", length=255)
         */
        private $chef_equipe;
     
        public function __construct()
        {
            $this->nom_prenom=new ArrayCollection();
            $this->chef_equipe = new ArrayCollection();
            $this->equipe =new ArrayCollection();
        }
    repository
    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
    public function FindByChef($chef_equipe)
        {
            // Requete avec jointure pour récupérer les employé par chef d'equipe
     
            $dql = 'SELECT p FROM App\Entity\Poste p
                    INNER JOIN App\Entity\Horaire AS h WITH p.nom_prenom = h.nom_prenom
                    where p.chef_equipe= :value
                    order by p.nom_prenom ';
     
            var_dump($dql);
     
     
     
            return $this->getEntityManager()
                ->createQuery($dql)
                ->setParameter('chef_equipe', $this->)
                ->getResult();
     
        }
    form
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     public function buildForm(FormBuilderInterface $builder,  array $options )
        {
            //
            $builder->add('poste', PosteType::class, array([
                'class' => Poste::class,
                //Requete avec le query builder
                'query_builder' => function (PosteRepository $er) use ($options) {
                     return $er->FindByChef( $options['chef_equipe'] )
                        ->orderBy('p.nom_prenom', 'ASC');
                },
                'choice_label' => 'chef_equipe',]))
     
                ->add('nom_prenom')
                ->add('lundi')
                ->add('mardi')
                ->add('mercredi')
                ->add('jeudi')
                ->add('vendredi')
                ->add('samedi')
                ->add('dimanche')
                ->add('chef_equipe')
                ->add('equipe');
     
     
     
     
            $builder->add('submit', SubmitType::class, ['label' => 'Rechercher', 'attr' => ['class' => 'hollow button secondary']]);
     
        }

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    si tu veux de l'aide, remplace tes captures d'écran par un copier-coller des différentes parties de ton code, merci.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/09/2014, 17h02
  2. [MySQL] Formulaire php(avec requete mysql)
    Par naut's dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 26/12/2011, 13h55
  3. [Toutes versions] formulaire recherche avec une liste déroulante
    Par aldama dans le forum IHM
    Réponses: 5
    Dernier message: 10/04/2009, 15h15
  4. moteur de recherche avec requete sql
    Par hottnikks_79 dans le forum ASP
    Réponses: 4
    Dernier message: 03/08/2006, 03h58
  5. Validation de formulaire recherche avec fonction javascript
    Par Cdic dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/01/2006, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo