Как и весь комментарий выше - вы используете $counter
как глобальную переменную - если это так, вы можете добавить global $counter
в начале функции, иначе, если вы хотите использовать в качестве возвращаемого значения, вы можете добавить это к аргументу функции.
Вариант 1 - использовать глобальную переменную
function riddor_dates($type,$id,$id1,$datatable,$date_from,$date_to){
global $connection;
global $counter;
$sql = "SELECT ".$id." FROM ".$datatable." WHERE ".$id1." BETWEEN '".$date_from."' AND '".$date_to."' AND ".$id." = '".$type."'";
if ($result = mysqli_query($connection,$sql)) {
$count = mysqli_num_rows($result);
echo "<br>".$type.": " . $count;
$counter[$type] = $count;
}
}
$type = 'RIDDOR - Major Injury';
riddor_dates($type,$id,$id1,$datatable,$date_from,$date_to);
var_dump($counter);
Вариант 2 - использовать возвращаемое значение
function riddor_dates($type,$id,$id1,$datatable,$date_from,$date_to){
global $connection;
$sql = "SELECT ".$id." FROM ".$datatable." WHERE ".$id1." BETWEEN '".$date_from."' AND '".$date_to."' AND ".$id." = '".$type."'";
if ($result = mysqli_query($connection,$sql)) {
$count = mysqli_num_rows($result);
echo "<br>".$type.": " . $count;
return $count;
}
}
$type = 'RIDDOR - Major Injury';
$counter[$type] = riddor_dates($type,$id,$id1,$datatable,$date_from,$date_to);
var_dump($counter);
Я настоятельно рекомендую второй вариант , чтобы избежать использования глобального ...