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


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut affichage
    Bonjour,

    je veux afficher les données de ma table en symfony2 mais il m'affiche ce message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Semantical Error] line 0, col 48 near 'avv_id=84 ': Error: Class MyApp\AvvBundle\Entity\Document has no field or association named avv_id
    controller
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $em = $this->container->get('doctrine')->getEntityManager();
            $qb = $em->createQuery('select a from MyAppAvvBundle:Document a where a.avv_id=84 ');    
     
            $Doc= $qb->getResult();
     
            return $this->container->get('templating')->renderResponse('MyAppAvvBundle:Default:PP5.html.twig', array
                    ('form' => $form->createView(),
                     'var' => $id,
                     'hasLock' => $hasLock,
                     'Document' =>$Doc
                    ));
    twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <table ><tr style="background-color:olive; ;"><td>file</td><td align="center">version</td></tr>
    {% for a in Document %}
        <tr>
    	<td><a href="">{{ a.file }}</a></td>	
    	<td align="center">{{ a.version }}</td>
    	</tr><br>
    {% else %}
        <tr>
    	<td>Aucune document n'a &eacute;t&eacute; trouv&eacute;.</td>
        </tr>
    {% endfor %}
     
    </table>
    entity
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <?php
     
    namespace MyApp\AvvBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\HttpFoundation\File\UploadedFile;
     
    /**
     * MyApp\AvvBundle\Entity\Document
     *
     * @ORM\Table()
     * @ORM\Entity
     */
    class Document
    {
        /**
         * @var integer $id
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;
     
        /**
         * @var string $file
         *
         * @ORM\Column(name="file", type="string", length=255)
         */
        private $file;
     
        /**
         * @var string $version
         *
         * @ORM\Column(name="version", type="string", length=255)
         */
        private $version;
     
        /**
         * @ORM\ManyToOne(targetEntity="Avv", inversedBy="Document")
         * @ORM\JoinColumn(name="avv_id", referencedColumnName="id")
         */
        protected $avv;
     
        //formate le nom de fichier 
     
        /**
         * Get id
         *
         * @return integer 
         */
        public function getId()
        {
            return $this->id;
        }
     
        /**
         * Set file
         *
         * @param string $file
         */
        public function setFile($file)
        {
            $this->file = $file;
        }
     
        /**
         * Get file
         *
         * @return string 
         */
        public function getFile()
        {
            return $this->file;
        }
     
        /**
         * Set version
         *
         * @param string $version
         */
        public function setVersion($version)
        {
            $this->version = $version;
        }
     
        /**
         * Get version
         *
         * @return string 
         */
        public function getVersion()
        {
            return $this->version;
        }
     
        /**
         * Set avv
         *
         * @param MyApp\AvvBundle\Entity\Avv $avv
         */
        public function setAvv(\MyApp\AvvBundle\Entity\Avv $avv)
        {
            $this->avv = $avv;
        }
     
        /**
         * Get avv
         *
         * @return MyApp\AvvBundle\Entity\Avv 
         */
        public function getAvv()
        {
            return $this->avv;
        }
    }

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    utilises les entités
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $avv= $em->getEntityRopository('MyAppAvvBundle:Avv')->find(48);
    tu feras avv.documents dans ta vue,

    ps : corrige ton HTML

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut
    Merci mais j'ai pas bien compris,mon but est d'afficher les docs d'une avv .avec ton code on peut checher une avv mais comment on l'affiche dans la vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tu feras avv.documents dans ta vue,
    Merci d'avance

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    dans le controlleur tu renvoies avv

    dans la vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% for a in avv.documents %}
    plutôt faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% for document in avv.documents %}
    fait les choses proprement t'avanceras plus vite

    et utilise l'annotation @Template() c'est plus simple

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut
    Merci pour tes reponses j'ai modifié mon code mais il m'affiche rien sachant que j'ai essayé var_dump et je vois qu 'il recupere id_avv

    controller
    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
     $document = new Document();
            $form = $this->createFormBuilder($document)        
            ->add('file', 'file',array(
                  'label'=>'PP5'))        
            ->getForm();        
            $request = $this->getRequest();
            $id=$request->get('id');
            $type=$request->get('type');
            $avv = $this->getDoctrine()->getRepository('MyAppAvvBundle:Avv')->find($id);
    
            $i=$avv->getid();
            var_dump($i);
           // var_dump($a);
            $version=0;        	     
            $rep =__DIR__.'/../../../../web/'.'uploads/documents/'.$a.'/';            
            $lockFile = $rep.$a."_".$type.".lock";          
            $hasLock = is_file($lockFile);
            if($request->getMethod() == "POST")
            {
                $form->bindRequest($request);
                if  ($form->isValid()){            	
                	do {
                		$version++;
                    $em = $this->container->get('doctrine')->getEntityManager();
                    $nom_file=$a.'_'.$type.'-'.'v'.$version.'.xlsm';
                	}while (file_exists($rep.$nom_file));
                	$document->setAvv($avv);
                    $document->setFile($nom_file);
                    $document->setVersion($version);
                    //$document->setVersion($version);
                    $form['file']->getData()->move($rep,$nom_file);
                    $em->persist($document);
                    $em->flush();        
                    unlink($lockFile);               
                   }
            }
            $hasLock = is_file($lockFile);
    
            
            return $this->container->get('templating')->renderResponse('MyAppAvvBundle:Default:PP5.html.twig', array
                    ('form' => $form->createView(),
                     'var' => $id,
                     'hasLock' => $hasLock,
                     'a'=> $i                 
                    ));
    twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {% for a in Document %}
        <tr>
    	<td>{{ a.file }}</td>	
    	<td align="center">{{ a.version }}</td>
    	</tr><br>
    {% else %}
        <tr>
    	<td>Aucune document n'a &eacute;t&eacute; trouv&eacute;.</td>
        </tr>
    {% endfor %}
    Merci d'avance

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    super noms de variables a et $i ...


    et t'as pas changé ta vue ...

    y'a plein de faute dans ton code, et visiblement ton PHP est mal configurer

Discussions similaires

  1. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  2. [VB6] [Flexgrid] Format d'affichage des numériques
    Par yansolo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/10/2002, 21h00
  3. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36
  4. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43
  5. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

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