Цикл Foreach дает только результат последнего итерированного элемента [дубликат]Php

Кемеровские программисты php общаются здесь
Anonymous
Цикл Foreach дает только результат последнего итерированного элемента [дубликат]

Сообщение Anonymous »

Мой простой цикл foreach работает чертовски странно, пожалуйста, помогите мне решить эту проблему
вот мой код контроллера

Код: Выделить всё

public function index()
{
$this->load->model('file_list');
$query = 'SELECT * FROM `files_data` WHERE file_extension = "jpg" and size > 0 LIMIT 0,10';
foreach($this->db->query($query)->result() as $file){
$data['check'] = $this->file_list->preview_maker($file->file_id, $file->file_full_path, $file->file_extension);
}
//$this->load->view('viewtest', $data);
//$this->home_footer();
}
а вот модель

Код: Выделить всё

public function preview_maker($file_id, $file_full_path, $extension)
{
if (file_exists('preview/' . $file_id . '.jpg')) {
$preview = 'preview/' . $file_id . '.jpg';
} else {
if ($extension == 'jpg' || $extension == 'gif' || $extension == 'png') {
$config = array(
'source_image' => 'stuff' . $file_full_path, //get original image
'new_image' => 'preview/' . $file_id . '.jpg', //save as new image //need to create thumbs first
'maintain_ratio' => true,
'width' => 80,
'height' => 80
);
$this->load->library('image_lib', $config); //load library
$this->image_lib->resize(); //do whatever specified in config
$preview = '/preview/'.$file_id.'.jpg';
} elseif ($extension == 'mp3') {
$preview = '/preview/music.jpg';
} elseif ($extension == 'apk') {
$preview = '/preview/android.jpg';
} elseif ($extension == 'jar') {
$preview = '/preview/java.png';
} elseif ($extension == 'zip') {
$preview = '/preview/zip.jpg';
} elseif ($extension == '3gp' || $extension == 'mp4' || $extension == 'avi') {
$preview = '/preview/movie.png';
}
}
return $preview;
}
Проблема в том, что цикл foreach не работает постоянно, он работает только для 1 записи при каждом обновлении, затем следующая запись, следующее обновление

Вернуться в «Php»