Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Sql запрос из response.php


Recommended Posts

ocstore 1.5.5. С php дружу месяц, так что прошу не пинать. Пишу доработку кеширования страниц целиком. Суть: цены меняются на start2544end, где 2544 - id товара. Затем страница кешируется. После этого производится подмена start2544end на цену товара.

Подмену решил сделать в response.php(для новых страниц) и потом скопировать в модуль pagecache.php(для кешированных страниц), но когда пытаюсь оттуда вызвать sql запрос, то выдает ошибку Fatal error: Call to a member function get() on a non-object in C:\Webserver\domains\git.venlamp.ru\system\library\response.php on line 56.

Как сделать чтобы работал стандартный класс по обработке sql запроса?

Возможно у меня вообще неверный подход и нужно делать новый класс, а его как-то вызывать из response.php и из pagecache.php?

    public function output() {

        if ($this->output) {
            $this->output = str_replace('&page=1"', '"', $this->output);

..................................пропущено.........................................................

                        if (preg_match_all('/pr_id_start(.*?)pr_id_end/', $this->output, $ids)) {
                            $sql="SELECT product_id, price FROM " . DB_PREFIX . "product WHERE product_id IN (" . implode (", ",$ids[1]). ")";
                            
                            $query = $this->db->query($sql); //Это не работает.
//                            if ($query->num_rows) {
//                                foreach ($query as $row) {
//                                    $this->output = str_replace ($this->output;"pr_id_start".$row['product_id']."pr_id_end",$row['price']);
//                                }
//                            }
                        }
 

И второй вопрос. Нужно поменять 20-100 id товара на цены. Есть ли смысл 100 раз вызывать str_replace или можно как-то стандартными функциями сделать замену за один проход? Типа str_replace_arr(строка, массив что на что меняем).

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.