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

Symfony PHP Discussion :

Affichage élément de la BDD symfony 4


Sujet :

Symfony PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Affichage élément de la BDD symfony 4
    Bonjour,

    C'est la première fois que je viens demander de l'aide. Mais là, je sèche et je ne trouve nulle part la réponse à mon problème.

    Je viens de commencer à travailler sur la création d'un site web sous symfony 4. Je ne suis pas encore bien au point avec ce framework.

    Alors voilà ce que j'essaie de faire:
    Nom : question.jpg
Affichages : 387
Taille : 36,8 Ko


    J'ai dans ma base de donné une table: équipe qui contient pour chaque membre du personnel:

    -le nom,

    -le prénom,

    -profession,

    -particularité

    -image de la personne.

    J'arrive à afficher toutes les informations sans problème sur la page. Mais ce qu'on me demande :

    Afficher l'image et les informations d'une personne dans le carrée orange lorsqu'on clique sur l'image correspondante à la personne.

    J'espère avoir été clair. Moi même je commence à me perdre dans ma tête à force de réflexion.

    Merci pour l'aide que vous pourrez m'apporter.

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    il y a 2 façons de faire :

    - la 1ere, plus complexe : on met à jour dynamiquement la zone orange avec la technique de l'ajax
    - la 2ème moyenne : utiliser un render controller pour mettre à jour la zone orange
    - la 3ème plus simple : la page entière se recharge pour mettre à jour la zone orange

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Désolé de ne répondre que maintenant, j'ai du faire une pause dans mon travail. Ma femme vient d'avoir notre deuxième fille.

    Je sais ce que c'est un <a href>. Mais je ne sais pas comment dans le controller faire pour réaliser cette recherche par id. Lorsque je le fais soit j'ai le droit à une variable non existante soit le débug me dit:

    Controller "App\Controller\WhoController::index()" requires that you provide a value for the "$id" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.
    Pouvez vous m'aider. Je suis novice dans le domaine de symfony 4.

    extrait de mon code:

    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
    <?php
     
    namespace App\Controller;
     
    use App\Entity\Equipe;
    use App\Repository\EquipeRepository;
    use Doctrine\Common\Persistence\ObjectManager;
    use Symfony\Component\Routing\Annotation\Route;
    use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
     
     
    class WhoController extends AbstractController
    {
    	/**
    	 * @varEquipeRepository
    	 */
    	private $repository;
    	/**
    	 * @varObjectManager
    	 */
    	private $em;
     
    	public function __construct(EquipeRepository $repository, objectManager $em)
    	{
    		$this->repository = $repository;
    		$this->em = $em;
    	}
    	/**
    	 * @Route("/who", name="who")
    	 * @paramEquipeRepository $repository
    	 */
    	public function index($id, EquipeRepository $repository)
    	{
    		$equipes = $this->repository->findAllVisible();
    		//methode pour récupérer rapidement un enregistrement find
    		$equip = $this->repository->find($id);
    		return $this->render('pages/who.html.twig', [
    			'equipes' =>$equipes,
    			'equip' => $equip,
    			'controller_name' => 'WhoController',
    		]);
    	}
    }
    Code Twig : 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
    {% extends 'base.html.twig' %}
     
    {% block title %}Présentation{% endblock %}
     
    {% block body %}
    <div class="container-fluid">
      <div class="page-header text-center">
      <h2>L'équipe</h2>
      </div>
      <div class="space30"></div>
      <div class="row">
        {% for equipe in equip %}
          <div class="offset-2 col-8 offset-lg-2 col-lg-8 presentation">
            <div class="pres-image offset-2 col-4 offset-lg-2 col-lg-4"><img src="{{asset('build/placeholder200x250.jpg')}}"
            alt="affiche un membre de l'équipe" class="img-fluid"></div>
            <div class="contenu offset-1 col-4 offset-lg-1 col-lg-4">
              <p class="pres-nom">Nom: {{ equip.nom }}</p>
              <p class="pres-prenom">Prenom:{{ equip.prenom }}</p>
              <p class="pres-profession">Profession:{{ equip.profession }}</p>
              <p class="pres-custom">Particularité: {{ equip.custom }}</p>
            </div>
          </div>
        {% endfor %}
      </div>
      <div class="row">
        {% for equipe in equipes %}
          <div class="col-4 col-lg-3">
            <div class="card-body text-center">
              {% if equipe.imageName %}
                <a href="{{ path('show',{ id:equipe.id }) }}">
                <img src="{{ vich_uploader_asset(equipe, 'imageFile')| imagine_filter('avatar') }}" alt="card-img-top" class="img-fluid"></a>
              {% endif %}
              <div class="card-footer text-center">
                <h5>{{ equipe.nom }}</h5>
                <h5>{{ equipe.prenom }}</h5>
              </div>
            </div>
     
          </div>
        {% endfor %}
     
      </div>
      {{ include ('pages/_footer.html.twig') }}
    </div>
    {% endblock %}

Discussions similaires

  1. [MySQL] pb d'affichage d'une requete bdd
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/01/2008, 14h02
  2. affichage éléments arraylist
    Par jEff57 dans le forum VB.NET
    Réponses: 3
    Dernier message: 06/08/2007, 17h14
  3. Récupération de certains éléments d'une BDD
    Par DaisyVIP dans le forum ASP.NET
    Réponses: 27
    Dernier message: 08/06/2007, 15h20
  4. affichage de ligne de bdd
    Par philguio dans le forum Access
    Réponses: 3
    Dernier message: 04/01/2007, 11h50
  5. Réponses: 3
    Dernier message: 03/01/2007, 16h09

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