не могу загрузить SQL-запрос после нажатия Symfony 3 - PullRequest
0 голосов
/ 01 мая 2019

, поэтому у меня есть список пользователей, которые уже загружены в раскрывающемся списке, и я хочу загрузить свой второй SQL-запрос, для которого требуется идентификатор пользователя для загрузки. поэтому после выбора пользователя я не могу выполнить свой второй запрос. по-видимому, все кажется мне хорошим

это то, что у меня есть в моем файле ветки

<select style="color: orangered;" id="visiteurSelectionne" class="zone">
            <option disabled selected value="0">Selectionnez un 
              visiteur</option>

            {% for user in users %}
                <option value={{ user.id }}>{{ user.username }}</option>
            {% endfor %}
        </select>
        <label class="titre">Mois :</label>

        <select style="color: orangered;" id="selectMoisDispo" class="zone">
            <option disabled selected value="0" class="date">Selectionnez une date</option>

        </select>

это моя функция Js

$(document).ready(function () {
                $('#ficheInfos').hide();
                $('#visiteurSelectionne').on('change', function () {
                    $.ajax({
                        url: './valide',
                        type: 'POST',
                        dataType: 'json',
                        data: { 'id=' : + this.value },

                    success: function (data) {
                            $('#ficheInfos').show();
                        $('#date').text(data.mois);

                    }


                });
                });


            });

и это моя функция в контроллере

    /**
     * @param Request $request
      * @return mixed
      * @Route("/valide")
     * @Method({"POST"})
     */

      public function ajaxAction(Request $request): Response
      {

    if (!$request->isXmlHttpRequest()) {
        return new JsonResponse(array('message' => 'You can access to this 
    url with ajax only'), 400);
    }

    $em = $this->getDoctrine()->getManager();
    $id = $request->request->get('id');
    $moisAnne = $em->getRepository("AppBundle:FicheFrais")->getMoisDispo($id);

    $response = new Response(json_encode(array(

        'mois' => $moisAnne

    )));



    $response->headers->set('Content-Type', 'application/json');
    /* la r�ponse doit �tre encod�e en JSON ou XML, on choisira le JSON
       * la doc de Symfony est bien faite si vous devez renvoyer un objet         *
       */


    new Response(json_encode($response));
    return $response;


}

и это моя функция SQL

public function getMoisDispo($idUser)
{

    $sqlReq = "SELECT DISTINCT moisAnne FROM fiche_frais WHERE idUtilisateur =' .$idUser. '";

    $db= $this->getEntityManager()->getConnection()->prepare($sqlReq);
    $db->execute([]);
    return $db->fetchAll();

}

результат, который я жду - это загрузить все даты, которые должны быть загружены во второй список по идентификатору пользователя

1 Ответ

0 голосов
/ 05 мая 2019

$('#visiteurSelectionne').on('change', function() {
		console.log("Selected value is " + $(this).val());
    $.ajax({
        url: './valide',
        type: 'POST',
        dataType: 'json',
        data: {
            'id': $(this).val()
        },
        success: function(data) {}
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select style="color: orangered;" id="visiteurSelectionne" class="zone">
        <option disabled selected value="0">Selectionnez un visiteur</option>
        <option value="val-1">val-1</option>
        <option value="val-2">val-2</option>
        <option value="val-3">val-3</option>
    </select>
    <label class="titre">Mois :</label>
    <select style="color: orangered;" id="selectMoisDispo" class="zone">
        <option disabled selected value="0" class="date">Selectionnez une date</option>
    
    </select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...