Показать уникальные данные массива в php, используя тонкий каркас - PullRequest
1 голос
/ 12 января 2020

Я хочу показать уникальное значение массива в 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;
}

Мой результат вывода:

enter image description here

Я хочу индекс массива 1, а не 2,3, который имеет те же данные.

...