Supprimer saut de ligne de la BDD php /symfony3 [Résolu]

- 25 oct. 2018 à 22:58 - Dernière réponse :  nejeh
- 26 oct. 2018 à 09:36
Bonsoir,

merci de me donne l'aide j'ai passé toute la journée à la recherche et les essaies mais je n'arrive à rien.

en fait j'ai un champs de textarea de type text, lors de l'insertion d'une valeur NULL ou vide dans la BDD mysql, je trouve un <br> comme valeur dans ce champ.
comment puis-je le rendre NULL?
merci d'avance

voilà mon code : ce code a pu remplace le <br> par NULL mais le problème ici est quand j'écrit une valeur non null il insère aussi NULL

/**
     * Finds and displays an Promoter entity.
     *
     * @Route("/{id}/update", name="edit_project")
     * @Template("FormationMiniPBundle:Project:edit.html.twig")
     */
    public function updateAction(Project $project, Request $request) {
        $em = $this->getDoctrine()->getEntityManager();

        $entity = $em->getRepository('FormationMiniPBundle:Project')->find($project);

        if (!$entity) {
            throw $this->createNotFoundException('Unable to find Project entity.');
        }


        $editForm = $this->createForm('Formation\MiniPBundle\Form\ProjectType', $entity);
        // $deleteForm = $this->createDeleteForm($id);
        /*
          $request = $this->getRequest();

          $editForm->bindRequest($request); */
         $editForm->handleRequest($request);
         $newp=$editForm->get('newPrice')->getData();
         var_dump($newp);
         $newt=$editForm->get('newText')->getData();
//         var_dump($newt);

        if (($editForm->isSubmitted()) && ($editForm->isValid())) {
            $mystring1 = "/<br>/";
            $pos1 = stripos($mystring1, $newp);
            $pos2 = stripos($mystring1, $newt);

               if($pos1==false){
                   $entity->setNewPrice(null);
                   var_dump( $entity->setNewPrice(null));
               }
               else{
                   echo "text";
                   $entity->setNewPrice($newp);
               }

            if($pos2==false){
                $entity->setNewText(null);
            }else{
            $entity->setNewText($newt);
}

            exit;
            $em->persist($entity);
            $em->flush();
            return $this->redirectToRoute('index_project', array('project' => $project->getId()));
        }

        return $this->render('FormationMiniPBundle:Project:edit.html.twig', array(
            'project' => $project,
            'edit_form' => $editForm->createView(),
            // 'delete_form' => $deleteForm->createView(),
        ));
    }





Afficher la suite 

Votre réponse

2 réponses

Messages postés
23269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2018
- 26 oct. 2018 à 07:14
0
Merci
Bonjour
Comment as tu écris ton textarea ?
Tu ne dois pas mettre de retour a la ligne avant le </textarea>
Commenter la réponse de jordane45
0
Merci
Bonjour,
je vous remercie pour ta réponse , voilà la solution si quelqu'un rencontrerais ce problème il peut l'utiliser. Vous pouver le mettre " Résolu".

   public function updateAction(Project $project, Request $request) {
        $em = $this->getDoctrine()->getEntityManager();

        $entity = $em->getRepository('FormationMiniPBundle:Project')->find($project);

        if (!$entity) {
            throw $this->createNotFoundException('Unable to find Project entity.');
        }


        $editForm = $this->createForm('Formation\MiniPBundle\Form\ProjectType', $entity);
   
         $editForm->handleRequest($request);
         $newp=$editForm->get('newPrice')->getData();
  
         $newt=$editForm->get('newText')->getData();

        if (($editForm->isSubmitted()) && ($editForm->isValid())) {
            $mystring1 = "<br>";
  
            if (strcmp($newp, $mystring1) == 0) {
                $entity->setNewPrice(null);
            }
            if (strcmp($newt, $mystring1) == 0) {
                $entity->setNewText(null);
            }

            $em->persist($entity);
            $em->flush();
            return $this->redirectToRoute('index_project', array('project' => $project->getId()));
        }

        return $this->render('FormationMiniPBundle:Project:edit.html.twig', array(
            'project' => $project,
            'edit_form' => $editForm->createView(),
            // 'delete_form' => $deleteForm->createView(),
        ));
    }
Commenter la réponse de nejeh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.