Вы должны структурировать свой ответ PHP так, чтобы ваши данные были доступны в JS.Для этого обычно вы используете JSON таким образом, что вы получаете данные, которые уже обработаны, и вам просто нужно получить к ним локальный доступ в JS.
В этом случае у вас есть 2 переменные, к которым вы хотите получить доступ.Но я думаю, что вы также хотите отформатировать их в некоторый объект, который вы выбрали в jQuery впоследствии.
Для этого есть 2 способа.
Первый - выполнить всю обработку в PHP ипросто сделайте переменные доступными.
Сторона PHP:
$rq_datepicker = "
SELECT *
FROM partie
WHERE date = '"$_POST['datepicker']"'";
$query = mysqli_query($connect, $rq_datepicker);
while ($result = mysqli_fetch_array($query)) {
$response['dataRaw'] = array('Reussie' => $result['Reussie'],
'Perdue' => $result['Perdue']);
$response['dataProcessed'] = array('Reussie' => "Il y a ".$result['Reussie']." partie(s)",
'Perdue' => "Il y a ".$result['Perdue']." partie(s)");
}
}
echo json_encode($response); // <-- using this will encode the variable according to the json specifics
Как только PHP обрабатывает данные, в JS вам просто нужно получить к ним доступ в вашей анонимной функции, привязанной к успешному вызову Ajax
JS Side (в случае, если HTTP-запрос идет 200):
success: function( data )
{
var response = JSON.parse(data);
$("#sql-results").text(response.dataProcessed.Reussie+response.dataProcessed.Perdue);
// to access the variables instead:
// response.dataRaw.Reussie
// response.dataRaw.Perdue
}
Второй - PHP просто передает переменные в JS, а затем вы там строите свою строку.
PHPside:
$rq_datepicker = "
SELECT *
FROM partie
WHERE date = '"$_POST['datepicker']"'";
$query = mysqli_query($connect, $rq_datepicker);
while ($result = mysqli_fetch_array($query)) {
$response['data'] = array('Reussie' => $result['Reussie'],
'Perdue' => $result['Perdue']);
}
}
echo json_encode($response); // <-- using this will encode the variable according to the json specifics
В этом случае у вас нет предварительно обработанных данных, поэтому вы должны создавать свои строки локально
JS Side (в случае, если HTTP-запрос идет 200):
success: function( data )
{
// to access the variables in this case:
// response.data.Reussie
// response.data.Perdue
var response = JSON.parse(data);
var stringReussie = "Il y a "+response.data.Reussie+" partie(s)";
var stringPerdue = "Il y a "+response.data.Perdue+" partie(s)";
$("#sql-results").text(stringReussie+stringPerdue);
}
Некоторые дополнительные:
Использование только json_encode с эхом в качестве вывода без объявления типа ответа, обычно устанавливает тип ответа "application / json".
echo json_encode($response);
Чтобы избежать этого «обычно» и обеспечитьтип содержимого часть ответа «application / json» (если это так), вы должны также установить заголовок ответа.
header("Content-type:application/json")
Дополнительная информация о заголовках: PHP Manual header ()
О json_encoding, читайте дополнительную информацию здесь: https://www.php.net/manual/en/function.json-encode.php