Мне нужно передать переменную $ m в результаты обратно на мой контроллер, чтобы отобразить на мой взгляд.
Модель
for($i=1; $i<=12;)
{
$month=array("","01","2","3","4","5","6","7","8","9","10","11","12");
$m = $month[$i];
$i++;
$query2=$this->db->query("
SELECT
COUNT(*) AS rr
FROM
trans_email
WHERE lup LIKE '2014-$m%'
");
$resultarray[$i]=$query2->result();
foreach($resultarray[$i] as $row)
{
$data[$i] = $row;
}
}
return array('data'=> $data,
'count'=> $m);
когда я возвращаю $ m в контроллер, результат $ m всегда 12
контроллер
$ind = $this->dash_model->monthreport();
$data= array();
$data['mont'] = $ind['count'];
$data['mont'] = $ind['data'];
$this->parser->parse('blank.htm', $data);
как возвращает $ m со значением 1,2,3... 12
month 01= 1
month 02= 0
month 03= 5
...
month 12 = 0
Обновление, я просто попробую код
$month=array("1","2","3","4","5","6","7","8","9","10","11","12");
$m =implode(',',$month);// $m = "1,2,3,4,5,6,7,8,9,10,11,12";
return array('data'=> $data,
count'=> $m);
но я получаю
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 1
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 4
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 9
month ,01,2,3,4,5,6,7,8,9,10,11,13 = 0
если вы хотите, чтобы строка попыталась
$month=array("1","2","3","4","5","6","7","8","9","10","11","12");
$m =implode(',',$month);// $m = "1,2,3,4,5,6,7,8,9,10,11,12";
return array('data'=> $data,
count'=> $m);
или если вы хотите массив
$month=array("1","2","3","4","5","6","7","8","9","10","11","12");
$m =$month;
return array('data'=> $data,
count'=> $m);
Вы совершаете большую ошибку. Вам не нужно зацикливаться. Просто сделайте это:
$month=array("","01","2","3","4","5","6","7","8","9","10","11","12");
$m = $month;
Также, если вы хотите сделать большой массив с циклом, просто выполните следующее:
for($i=0; $i < 1000; $i++)
{
$m[] = $i; // note that I have used [] after m
}
Также вы можете использовать range();
прочитайте об этом в PHP Docs.
Ваша ошибка в том, что вы создаете массив $ month в каждом цикле заново. Чтобы изменить текущий код, выполните следующие действия:
Поместите массив месяца вне цикла и добавьте [] в m. Это говорит PHP, чтобы добавить новый элемент массива в m.
$month=array("","01","2","3","4","5","6","7","8","9","10","11","12");
for($i=1; $i<=12;)
{
$m[] = $month[$i];
$i++;
}