- 18 Set 2012, 15:06
#27968
Boa tarde galera, eu estou com um problema , tem um cliente meu que deseja que os banners sejam aparecidos na ordem que foram colocados na parte de banners do painel admin, só que, quando eu salvo pela primeira vez, tudo acontece corretamente MAS caso eu clique em editar nos banners , e tire um banner , ou adicione um, ou mude o titulo/link ele deleta esses banners, cria outro registro no banco de dados com cada um deles... EX:
Tenho o banner 1 2 3, eu faço uma alteração e clico em salvar eles passam a ter o id 4 5 6.Eu vou dar um quote do Design/Banner (Model) pra voces verem como está
Tenho o banner 1 2 3, eu faço uma alteração e clico em salvar eles passam a ter o id 4 5 6.Eu vou dar um quote do Design/Banner (Model) pra voces verem como está
public function addBanner($data) {Creio que essas sejam as duas funções que fazem a ação do botao salvar
$this->db->query("INSERT INTO " . DB_PREFIX . "banner SET name = '" . $this->db->escape($data['name']) . "', status = '" . (int)$data['status'] . "'");
$banner_id = $this->db->getLastId();
if (isset($data['banner_image'])) {
foreach ($data['banner_image'] as $banner_image) {
$this->db->query("INSERT INTO " . DB_PREFIX . "banner_image SET banner_id = '" . (int)$banner_id . "', link = '" . $this->db->escape($banner_image['link']) . "', image = '" . $this->db->escape($banner_image['image']) . "'");
$banner_image_id = $this->db->getLastId();
foreach ($banner_image['banner_image_description'] as $language_id => $banner_image_description) {
$this->db->query("INSERT INTO " . DB_PREFIX . "banner_image_description SET banner_image_id = '" . (int)$banner_image_id . "', language_id = '" . (int)$language_id . "', banner_id = '" . (int)$banner_id . "', title = '" . $this->db->escape($banner_image_description['title']) . "'");
}
}
}
}
public function editBanner($banner_id, $data) {
$this->db->query("UPDATE " . DB_PREFIX . "banner SET name = '" . $this->db->escape($data['name']) . "', status = '" . (int)$data['status'] . "' WHERE banner_id = '" . (int)$banner_id . "'");
$this->db->query("DELETE FROM " . DB_PREFIX . "banner_image WHERE banner_id = '" . (int)$banner_id . "'");
$this->db->query("DELETE FROM " . DB_PREFIX . "banner_image_description WHERE banner_id = '" . (int)$banner_id . "'");
if (isset($data['banner_image'])) {
foreach ($data['banner_image'] as $banner_image) {
$this->db->query("INSERT INTO " . DB_PREFIX . "banner_image SET banner_id = '" . (int)$banner_id . "', link = '" . $this->db->escape($banner_image['link']) . "', image = '" . $this->db->escape($banner_image['image']) . "'");
$banner_image_id = $this->db->getLastId();
foreach ($banner_image['banner_image_description'] as $language_id => $banner_image_description) {
$this->db->query("INSERT INTO " . DB_PREFIX . "banner_image_description SET banner_image_id = '" . (int)$banner_image_id . "', language_id = '" . (int)$language_id . "', banner_id = '" . (int)$banner_id . "', title = '" . $this->db->escape($banner_image_description['title']) . "'");
}
}
}
}


