Я не уверен, правильно ли сформулированы мои вопросы, поэтому, пожалуйста, не стесняйтесь сказать мне, чтобы я изменил его.Вставьте данные в базу данных с помощью codeigniter 3
Я разрешаю загружать сразу несколько изображений, а затем вставлять текст в базу данных в виде html img.
Вот мой код:
if (! $this->upload->do_upload('post_image'))
{
$this->session->set_flashdata('post_message', $this->upload->display_errors());
$this->session->set_flashdata('post_message_class', 'alert-danger');
redirect('/user/profile/'.$identity, 'refresh');
}
else
{
$uploaded = $this->upload->data();
// insert pos
if(isset($uploaded['file_name']) && $uploaded['file_name'] == 0){
$post_text = '<img src="/uploads/images/'.$uploaded['file_name'].'" width="251px" alt="'.$uploaded['raw_name'].'" /><br>'.$this->input->post('post_text');
}
else
{
foreach ($uploaded as $images){
$post_text = '<img src="/uploads/images/'.$images['file_name'].'" width="251px" alt="'.$images['raw_name'].'" /><br>'.$this->input->post('post_text');
}
}
$query = $this->user_model->insert_user_posts($this->input->post('poster_id'), $this->input->post('profile_id'), $this->input->post('post_type'), $post_text);
$this->session->set_flashdata('post_message', 'Image has been posted!');
$this->session->set_flashdata('post_message_class', 'alert-success');
redirect('/user/profile/'.$identity, 'refresh');
}
EDIT: Вот код модели:
public function insert_user_posts($poster_id, $profile_id, $post_type, $post_text)
{
// Users table.
$data = array(
'poster_id' => $poster_id,
'profile_id' => $profile_id,
'post_type' => $post_type,
'post_text' => $post_text,
'datetime' => time()
);
$this->db->insert($this->tables['users_posts'], $data);
if($this->db->affected_rows() > 0)
{
$this->set_message('upload_successful');
return TRUE;
}
else
{
return FALSE;
}
}
Кроме того, я использую это: https://github.com/avenirer/MY_Upload
Если я echo
или var_dump
$post_text
он отобразит данные для обоих изображений, но только вставляет первое изображение. Что я здесь делаю неправильно?
он появляется в цикле foreach здесь 'foreach ($ uploaded as $ images) {' вы переписываете '$ post_text' с каждым изображением. Из-за этого, я думаю, вы только вставляете последнее изображение. Кроме того, вы должны опубликовать код в 'user_model-> insert_user_posts', так как это может быть проблемой. –
Спасибо. Я также добавил ссылку на библиотеку, которую я использую. – iamthestreets
Так что скажем, что переменная '$ uploaded' имеет в ней несколько значений, которые мы можем считать изображениями. Что вы собираетесь с ними делать? Вы хотите добавить их вместе в одну и ту же переменную '$ post_text', которую нужно вставить, или вставить для каждой из них? –