У меня есть это выпадающее меню с зацикленным элементом.Все, что я хочу, - это когда я изменяю значение выбранного элемента в раскрывающемся списке, он отправляет значение в контроллер с использованием маршрута.
Это код зацикленного элемента в моем раскрывающемся списке в моем представлении с именем resolution_time_of_calls.blade.php
:
<div class="dropdown">
<form action="" method="POST">
<select name="year">
<option class="dropdown-item" selected name="years" disabled>--Select Year-- </option>
<?php
$start = "2017";
$end = (int)date("Y");
for($i=$start; $i<=$end; $i++){
echo '<option class="dropdown-item" value='.$i.'>'.$i.'</option>';
}
?>
</select>
</form>
</div>
Это скриншот моего выпадающего списка: ![enter image description here](https://i.stack.imgur.com/OLJIi.png)
Все, что я хочу, - это когда я изменил Год на моем dropdown
, год нижеграфик изменит свой год.
У меня еще нет маршрута для этого, потому что я не знаю, какой код писать.
Это мой контроллер, где должно быть выпадающее значениепрошло.Значение, которое будет отправлено по маршруту, должно быть передано в эту функцию, и я не знаю как, потому что я новичок в Laravel.Заранее спасибо за помощь!
public function resolution_time_of_calls(){
//declarations
$arr_val = array();
$arr_val1 = array();
$arr_val2 = array();
$arr_monthname = array();
$arr_monthInt = array();
//SELECTING MONTHS
$quer = DB::select("SELECT MONTH(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS MonthInt
,monthname(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS Month
,year(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS Year
FROM rtdb.Tickets T
LEFT JOIN rtdb.ObjectCustomFieldValues O ON O.ObjectId=T.EffectiveId
AND O.CustomField=15 AND O.ObjectType='RT::Ticket' AND O.Disabled=0
WHERE T.Status!='Deleted' AND T.IsMerged IS NULL AND T.Type='ticket'
AND year(DATE_ADD(T.Created, INTERVAL 8 HOUR))=2018
GROUP BY Month,MonthInt,Year Order by MonthInt asc
");
$chart = new SampleChart;
$chart->title('Resolution Time of Calls');
foreach($quer as $query){
array_push($arr_monthname, $query->Month.", ".$query->Year);
array_push($arr_monthInt, $query->MonthInt);
}
$chart->labels($arr_monthname);
///////////////////// TOTAL, AVERAGE,MAXIMUM Query ////////////////////
foreach($arr_monthInt as $month){
$sql = DB::select("SELECT MONTH(DATE_ADD(T.Created, INTERVAL 8 HOUR)) AS MonthInt
,AVG(TIMESTAMPDIFF(HOUR,T.Created,O.Created)) AS AVG
,MAX(TIMESTAMPDIFF(HOUR,T.Created,O.Created)) AS MAX
FROM rtdb.Tickets T
LEFT JOIN rtdb.ObjectCustomFieldValues O ON O.ObjectId=T.EffectiveId
AND O.CustomField=15 AND O.ObjectType='RT::Ticket' AND O.Disabled=0
WHERE T.Status!='Deleted' AND T.IsMerged IS NULL AND T.Type='ticket'
AND year(DATE_ADD(T.Created, INTERVAL 8 HOUR))=2018
GROUP BY MonthInt Order by MonthInt asc");
}
foreach($sql as $value){
array_push($arr_val1, $value->AVG );
array_push($arr_val2, $value->MAX );
}
$chart->dataset('Average Hours', 'bar', $arr_val1)->backgroundcolor('green');
$chart->dataset('Maximum Hours', 'bar', $arr_val2)->backgroundcolor('blue');
$chart->height(600);
return view('resolution_time_of_calls',['chart'=>$chart]);
}