Добрый день! Я оцениваю свои знания в php как "так себе" По этому использую для своих проектов фреймворк "Codignaiter". Прошу всех, кто обладает знаниями относительно работы с этим фреймворком, помочь мне разобраться с моей проблемой. Я создаю таблицу в БД средствами самого Codignaiter, при сабмите формы, собственно все импуты которые есть в этой форме сразу же заносятся в эту таблицу. Мне нужно задать "время жизни" для таких таблиц, Скажем 2 дня после её создания она существует, а потом удаляется. Помогите пожалуйста разобраться, как это можно реализовать. Вот код который выполняет все описные выше действия: Код (Text): // ВЬЮВЕР <form id="addCart" method="post" action="main_c/addCart"> <input type="text" name="title"/> <input type="text" name="cost"/> <input type="text" name="articul"/> <button type="submit" name="btn_addCart" id="btn_addCart">Submit</button> </form> // КОНТРОЛЕР function addCart() { if (isset($_POST['btn_addCart'])) { $tabel_name['title'] = $_POST['title']; $tabel_name['cost'] = $_POST['cost']; $tabel_name['articul'] = $_POST['articul']; $tabel_name['btn_addCart'] = $_POST['btn_addCart']; $this->main_model->create_table($tabel_name); } } // МОДЕЛЬ function create_table($tabel_name) { if ($this->db->table_exists($tabel_name['btn_addCart'])){ echo: 'Таблица уже существует' }else{ $new_table = array( 'id' => array( 'type' => 'INT', 'constraint' => 5, 'unsigned' => TRUE, 'auto_increment' => TRUE ), 'btn_addCart' => array( 'type' => 'VARCHAR', 'constraint' => '100', ), 'title' => array( 'type' => 'VARCHAR', 'constraint' => '100', ), 'cost' => array( 'type' => 'VARCHAR', 'constraint' => '100', ), 'articul' => array( 'type' => 'VARCHAR', 'constraint' => '100', ) ); $this->dbforge->add_field($new_table); $this->dbforge->add_key('id', TRUE); $this->dbforge->create_table($tabel_name['btn_addCart']); $array = array( 'btn_addCart' => $tabel_name['btn_addCart'], 'title' => $tabel_name['title'], 'cost' => $tabel_name['cost'], 'articul' => $tabel_name['articul'] ); $this->db->insert($tabel_name['btn_addCart'], $array); } } Благодарен заранее, за любую помощь)
таблицы? может записи по time заданному проверяется ( истекло ли время ) если да то строку в таблице удаляем --- Добавлено --- а не вру, рили создается таблица.. а нафига так делать ? 'btn_addCart' => $tabel_name['btn_addCart'], 'title' => $tabel_name['title'], 'cost' => $tabel_name['cost'], 'articul' => $tabel_name['articul'] время живучести таблицы нету
@MAN_IFE_ST Я к сожалению не понял, Вас) Сотрите что я делаю, я создаю таблицу в которой хранятся временные значения, для того что бы их можно было разфуричить на странице в течении какого то времени (например 2 дня), в связи с этим сама таблица тоже несет временный характер, то есть нужно что бы по истечению тех же двух дней она сама по себе удалилась. Я знаю что это можно сделать, а вот как именно я не знаю, по этому прошу помочь
Зачем таблица будет носить временный характер? для вкуса? Создайте таблицу для временного хранения информации, id time_out item колонки и проверять есть ли такая запись ... но таблицу то зачем? Очень хороший пример: ОЗУ, для временного хранения данных, сама линейка оперативки - это таблица, в ней постоянно что то записывается или стирается.
Друзья, я понимаю что Вам профессионалам сложно понять зачем мне это нужно, а мне новичку сложно объяснить Вам, просто я экспериментирую над тем что, как мне кажется, может быть весьма интересным - да я могу ошибаться, потому что только начинаю осваивать эту бездонную науку, но даже если это так я хочу сам увидеть свою ошибку. А задание "времени жизни" для таблицы это всего лишь маленькое зернышко моей задумки. Я невероятно благодарен за Ваше стремление научить меня делать "правильно", но на данном этапе меня интересует только моя задумка. По этому я очень прошу ответить на мой изначальный вопрос - "Как задать "время жизни" таблицы в БД", и возможно ли это вообще. Если невозможно в принципе, тогда я буду искать другие "правильные" пути решения моей задачи. Заранее благодарен за любую помощь
тогда в одной таблице держи список когда удалять другие таблицы, потом настрой cron что раз в час запускать php скрипт который будет выполнять select запрос к mysql чтобы получить список таблиц которые нужно удалить, потом делай sql запрос drop с именами этих таблиц.