Jump to content

PeletonTver

Новичок
  • Content Count

    44
  • Joined

  • Last visited

Community Reputation

2 Обычный

About PeletonTver

  • Rank
    Пользователь

Recent Profile Visitors

313 profile views
  1. Попробовал переключатель. Получается что для меня попроще это опции , как текстовые поля. Контроллер ковырять не надо, только twig. Спасибо за наведение на путь истинный.
  2. И вообще какой подход правильней, добавлять поля в существующие таблицы или создавать новые? По опциям , я понял так . Создаем опцию (список) Магазины , в нее добавляем названия магазинов и для каждого продукта их заполняем. Правильно? Вроде так )) Если добавляю опцию списком, то выводится в карточке товара (по умолчанию) только список выбора магазинов Если каждый магазин добавлить текстовым полем, то выводится название магазина и количество. Но списком вроде логичней.Во view редактировать вывод или чего то не догоняю?
  3. Не знаю, велосипеды умею изобретать , но может есть проверенное решение. Сам склоняюсь либо в product_to_store добавить поле quantity , но там нет магазина по умолчанию и придется логику перекладывать на php , либо новую таблицу product_id,store_id,quantity и к ней уже обращаться. Как с опциями сделать, честно говоря не понял
  4. Подсажите, плз, чтоб в разных магазинах выводить свое кол-во товара , нужно отдельно таблицу создать/обновлять и к ней обращааться или штатно как то можно? Или например создано несколько размещений магазина, как товар между ними разделить правильно? заранее спасибо.
  5. сделал для теста 3 файла однострочных в одной папке. test.php <?php print_r(PDO::getAvailableDrivers()); test.cmd php test.php test1.cmd php-cgi test.php на IIS работают оба теста на Xampp только первый Status:404 Not Found No input file specified. cgi не видит файл лежащий в одной папке. Помогите плз.
  6. Может кто сталкивался ? $dsn="mysql:host=localhost;dbname=baza;charset=UTF8";; $conn=new PDO($dsn, 'root','root'); Если запускаю из под php.exe и php-win.exe то все ок,подключается к базе. Если php-cgi.exe то не видит драйвер. // Is PDO installed? if (!defined('PDO::ATTR_DRIVER_NAME')) { echo 'PDO is unavailable<br/>'; } elseif (defined('PDO::ATTR_DRIVER_NAME')) { echo 'PDO is available<br/>'; } PDO видит. print_r(PDO::getAvailableDrivers()); а драйвер не видит. Для cgi php.ini не нужен свой? Гуглил-гуглил , не нагуглил((
  7. перемудрил, вот так надо public function query($sql,$parametrs=array()) { return $this->adaptor->query($sql,$parametrs); }
  8. Вообщем накостылил так. В родном db.php public function query($sql) { return $this->adaptor->query($sql); } параметры как бы вообще не предусмотрены, поэтому они и теряются. чуть поменяем public function query($sql,$parametrs=array()) { if($parametrs) return $this->adaptor->query($sql,$parametrs); else return $this->adaptor->query($sql); } И вызываю $sql="select * from plitka.oc_product where Price > ? Limit 1"; $row=$this->db->query($sql,[1000]); Усё работает)). По уму то надо все запросы с параметрами переписывать. Только вот отдельно prepare и execute так не получится запускать
  9. Он есть! только почему то не работает)). делаю запрос $sql="select * from plitka.oc_product where Price > :price Limit 1"; $params=array(1=>array(':price'=>100)); $row=$this->db->query($sql,$params); В system->library->db->mpdo.php в функции query параметры не передаются ,если вставляю вручную работает. public function query($sql, $params = array()) { // $params=array(':price'=>'100'); Как починить?
  10. Здорово! А зачем тогда выбор из драйверов при установке? // DB define('DB_DRIVER', 'mpdo');
  11. Здравствуйте. При инсталяции , выбираю PDO. В php.ini все подключено. При выполнении простых селектов все работает норм, а при желании запустить prepare, выводится ошибка непонимания. /*работает*/ $sql="select * from table where a=".$a; $query = $this->db->query($sql); $result=$query->row; /*выдает ошибку*/ $sql="select * from table where =?"; $prepare=$this->db->prepare($sql); Если создаю вручную коннект и его использую, всё нормально. /*так работает*/ $dsn = "mysql:host=" . DB_HOSTNAME . ";dbname=" . DB_DATABASE . ";charset=UTF8"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, PDO::MYSQL_ATTR_LOCAL_INFILE => true, PDO::ATTR_PERSISTENT => true ]; try { $conn = new PDO($dsn, DB_USERNAME, DB_PASSWORD, $opt); } catch (PDOException $e) { echo "Error: " . $e->getMessage()."<br>"; } $prepare=$conn->prepare($sql); Вопрос:$this->db как то можно заставить работать с PDO prepare или это я ее неправильно вызываю?
  12. Спасибо! У меня главная беда была с непониманием php-cgi. Запускал просто скрипт php и получал ошибку времени выполнения и прочие гадости. Теперь понимаю))
  13. Здравствуйте. Хочу раз в день обновлять базу из xml файла (уже писал).Возникло 2 вопроса. 1. Если позиций много, то php вылетает с ошибкой переполнения памяти, если делать одним запросом. Делаю LIMIT $step,100 в запросе и вызываю ajax_ом увеличивая $step, пока не кончится. Правильно делаю или надо как то по другому? 2. Задачу запускаю планировщиком. Как правильно перезапустить задачу через какое то время, если она закончилась ошибкой(например временно упал ftp сервер или еще чего)? Можно передавать планировщику ошибку и перезапустить или надо запускать один раз , а при ошибке перезапускать в самом php,через sleep(3600)? Спасибо заранее.
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.