PHP & JavaScript - Переменные - PullRequest
       2

PHP & JavaScript - Переменные

0 голосов
/ 20 января 2020

У меня просто есть представление с ассоциативным массивом с информацией об авариях.

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

Эта информация поступает от PHP, а событие Click фиксируется в JQuery ...

Как я могу вставить var country в указатель associative array, полученный из PHP с указателем для каждой страны?

.on('click', function(i, row) {

        var country = row.label;

        accident_chart.setData([{
                a: <?php echo "".$charts['accidents_status'][**NEED var country value here**]['accidents']; ?>,
                y: 'Accidents',
            },
            {
                a: <?php echo $charts['accidents_status']['Qatar']['lost_time_accidents']; ?>,
                y: 'Lost Time',
            }
        ]);

    });

1 Ответ

1 голос
/ 20 января 2020

Вы не можете этого сделать. Вместо этого используйте AJAX, чтобы получить данные ДТП.

.on('click', function(i, row) {

    var country = row.label;
    $.ajax({
        type: "GET",
        url: "/get_accident_chart", // Just replace it with your PHP controller function that can access your $charts variable
        data: {country: row.label},
        dataType: "json",
        success: function(data) {
        accident_chart.setData(data);
        },
        error: function(data) {
        return data;
        }
    });
});

В вашем PHP

get_accident_chart(){
    $country = $_GET['country'];
    $accident_chart = array(
        array(
            'a' => $charts['accidents_status'][$country]['accidents'],
            'y' => 'Accidents'
        ),
        array(
            'a' => $charts['accidents_status']['Qatar']['lost_time_accidents'],
            'y' => 'Lost Time'
        )
    );

    echo json_encode($accident_chart);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...