Я хочу показать уникальное значение массива в PHP, используя Slim Framework, но оно показывает одно и то же значение несколько раз. Получать несколько одинаковых массивов по дате. Я запускаю SQLquery, используя группу по дате, где я получаю несколько дат. Например: 04-01-2020
, 06-01-2020
, 07-01-2020
.
В этом примере 04-01-2020
в неделю между 29-12-2019
до 04-01-2020
. Но 06-01-2020
, 07-01-2020
находятся между 05-01-2020
до 11-01-2020`. Показать мой индекс массива показать дважды. Я хочу, чтобы он показывал один раз в массиве даты
Мой код:
public function Getkalyanchartdatewise()
{
$response = array();
$sql1 = "Select Date from matka_result WHERE matka_name_id=2 Group by Date ORDER BY `matka_result`.`date` ASC";
$stmt1 = $this->conn->prepare($sql1);
if ($stmt1) {
//$stmt1->bind_param ( "i", $id );
$stmt1->execute();
$stmt1->store_result();
$num_rows1 = $stmt1->num_rows;
if ($num_rows1 > 0) {
$stmt1->bind_result($date);
$i = 0;
while ($result = $stmt1->fetch()) {
//Our YYYY-MM-DD date string.
$date1 = $date;
//Get the day of the week using PHP's date function.
$dayOfWeek = date("l", strtotime($date1));
$previous_week = strtotime($date1);
$start_week = strtotime("last sunday midnight", $previous_week);
$end_week = strtotime("next saturday", $start_week);
$start_week = date("Y-m-d", $start_week);
$end_week = date("Y-m-d", $end_week);
//echo $start_week.' '.$end_week ;
$chart = $this->GetmatkaResultByDate($start_week, $end_week);
if ($date1 >= $start_week && $date1 <= $end_week) {
$daterange = $start_week . ' to ' . $end_week;
}
$date_list[$i] = array(
"date-range" => $daterange,
"start_week_date" => $start_week,
"end_week_date" => $end_week,
/*"date" => $date,
"week" => $dayOfWeek,*/
"chart_details" => $chart["chart_list"],
);
$i++;
}
$response ["error"] = false;
$response ["msg"] = "DATA_FOUND";
$response ["date_list"] = $date_list;
} else {
$response ["error"] = true;
$response ["msg"] = "DATA_NOT_EXIST";
$response ["date_list"] = "";
}
} else {
$response ["error"] = true;
$response ["msg"] = "QUERY_EXCEPTION";
}
return $response;
}
public function GetmatkaResultByDate($start_week, $end_week)
{
//public function Getkalyanchartdatewise(){
$response = array();
$sql1 = "Select `date`,`time1_result`,`time1_result_summation`,`time2_result`,`time2_result_summation` from matka_result WHERE matka_name_id=2 and Date between ? and ? ORDER BY `matka_result`.`date` ASC";
$stmt1 = $this->conn->prepare($sql1);
if ($stmt1) {
$stmt1->bind_param("ss", $start_week, $end_week);
$stmt1->execute();
$stmt1->store_result();
$num_rows1 = $stmt1->num_rows;
if ($num_rows1 > 0) {
$stmt1->bind_result($date, $time1_result, $time1_result_summation, $time2_result,
$time2_result_summation);
$i = 0;
while ($result = $stmt1->fetch()) {
$date1 = $date;
$dayOfWeek = date("l", strtotime($date1));
$chart_list[$i] = array(
"date" => $date,
"day" => $dayOfWeek,
"time1_result" => $time1_result,
"time1_result_summation" => $time1_result_summation,
"time2_result" => $time2_result,
"time2_result_summation" => $time2_result_summation,
);
$i++;
}
$response ["error"] = false;
$response ["msg"] = "DATA_FOUND";
$response ["chart_list"] = $chart_list;
} else {
$response ["error"] = true;
$response ["msg"] = "DATA_NOT_EXIST";
$response ["date_list"] = "";
}
} else {
$response ["error"] = true;
$response ["msg"] = "QUERY_EXCEPTION";
}
return $response;
}
Мой результат вывода:
Я хочу индекс массива 1, а не 2,3, который имеет те же данные.