-
Публікації
32 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Rozliv
-
-
Собственно все описано в заголовке 8)
Задача:
в шаблоне: к примеру получил переменную $per_zapr = '5';
в контроллере: к примеру делаю запрос в базу: $this->data['otvet_ot_bazi'] = $this->db->query("SELECT text FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$this->request->get['product_id'] . "' AND attribute_id = '" . (int)!!!!!а вот здесь должна быть 5!!!!!! . "'");
как получить пятеречку??? заранее спасибо!!!
-
Спасибо - Решено!
Ставим задачу - выполняем!
-
Если вы делаете такой запрос, то это запрос вернет 0 строк.
в смысле так?:
$query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = " . $this->request->get['post_id'] . "");if ($query->rows) {} -
ну так проверить на количество...
Смотрите в исходник...
$query->num_rows
нет, дело вот в чем!!!
Я делаю запрос в строку с значением id=1
а там к примеру только строки с id=: 4 6 8 и 12
соответственно мне нужно вывести ошибку что такой строки нет!
-
Задача такая!
делаю к примеру запрос:
$query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = " . $this->request->get['post_id'] . "");
где post_id к примеру = 1,
а в таблице такого id нет!
как мне сделать на условие на наличие ошибки в запросе?
заранее огромное спасибо...
-
Лишние кавычки да?)
угу 8-)))
-
-
......и в который раз засыпаюсь на ерунде! трачу немеренное количество времени.....
1). $query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = 5"); - работает!2). $this->data['url_id'] = $this->request->get['id'];$query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = '" . (int)$url_id . "'"); - не работает!3). $query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = '" . $this->request->get['id'] . "'"); - не работает!Где косяк??? -
А так?
date = NOW(),
Да, Так все сразу получилось!!!! Спасибо! изучать и изучать!
-
'CURRENT_TIMESTAMP' != CURRENT_TIMESTAMP
Извини - но непонял!
-
Сегодня столкнулся с ещё одной проблемкой...
не могу записать в таблицу текущую дату и время, возможно проблема и у меня на машине, а возможно и нет...
$this->db->query("INSERT INTO oc_blog_data SETdate = 'CURRENT_TIMESTAMP',name = '" . $this->request->post['name'] . "',on_off = '" . $this->request->post['on_off'] . "',pr_on_off = '" . $this->request->post['pr_on_off'] . "',pr_simb_or_word = '" . $this->request->post['pr_simb_or_word'] . "',pr_limit = '" . $this->request->post['pr_limit'] . "',info_rus = '" . $this->request->post['info_rus'] . "',teg_h1 = '" . $this->request->post['teg_h1'] . "',teg_title = '" . $this->request->post['teg_title'] . "',teg_keywords = '" . $this->request->post['teg_keywords'] . "',teg_description = '" . $this->request->post['teg_description'] . "'");в итоге в колонку date пишутся нули!причем если в шаблоне запустить...mysql_query("INSERT INTO $table (date, name, on_off, pr_on_off, pr_simb_or_word, pr_limit, info_rus, teg_h1, teg_title, teg_keywords, teg_description)VALUES (CURRENT_TIMESTAMP, 'Заголовок', 'on', 'on', 'simb', '200', 'Это информация, точнее сам текст всего этого самого, бла, бла, бла.', 'Teg H1', 'Teg Title', 'Teg Keywords', 'Teg Description')");то все нормально!Вроде один SQL запрос, одна, база.... как быть?.... -
$my_query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data"); $this->data['info_data'] = $my_query->rows;
Вери благодарен!
-
еще вопрос:
Можно ли в моем случае вывести не одну строку с данными с указанным id, а все строки таблицы со всеми id?
Понимаю, что цикл нужно задать в шаблоне через foreach, но у меня опять не работает....
можно ли пример?
-
Спасибо ВСЕМ!!!!!! ОГРОМНОЕ!!!!
Заработало....
$this->data['info_data'] = array('id' => $result['id'],'date' => $result['date'],'info_rus' => $result['info_rus'],'on_off' => $result['on_off']); -
-
Где я что не понимаю......
К примеру: Вывести данные из строки с id=1. Данные: id, date, on_off, info_rus.
В контроллере:
$info_data = array();
$my_query = $this->db->query("SELECT * FROM ". DB_PREFIX . "blog_data WHERE id = 1");
foreach ($my_query->rows as $result) {
$info_data[] = array(
'id' => $result['id'],
'date' => $result['date'],
'info_rus' => $result['info_rus'],
'on_off' => $result['on_off']
);
}
В шаблоне:
<?php echo $info_data['id']; ?>
<?php echo $info_data['date']; ?>
<?php echo $info_data['info_rus']; ?>
<?php echo $info_data['on_off']; ?>
В итоге не работает!
Notice: Undefined variable: info_dataГде же я косячу????
Хелп!
-
Изучаем model
Ага, уже сутки... а у меня не работает...
-
контроллер это набор функций - обработчик данных
файл tpl - это шаблоны, в которых как правило выводятся уже переменные из контроллера - "динамические данные" так сказать, которые могут меняться в зависимости от условий обработанных в контроллере
например вот код из контроллера с хлебными крошками для категорий:
$this->data['breadcrumbs'][] = array( 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path']), 'separator' => $this->language->get('text_separator') );
где переменной text задано - имя категории
href - это ссылка на категорию
separator - стрелочка (декорация )
а все это контролируется функцией перебора массива array(
ну а в шаблоне мы уже выводим следующий код:
<?php foreach ($breadcrumbs as $breadcrumb) { ?> <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } ?>
где каждый отрезок начинающийся с <?php и заканчивающийся ?> - является переменной .
Спасибо, но с крошками вроде все понятно, не получается работать с данными из таблиц. :ugeek:
Где-то я что-то упускаю.....
-
Проблема такая...
1. к примеру: если в *tpl написать такой код, то все работает.
<?php$host="localhost";$user="**************";$password="*****************";$mybase="*****************";$mytable="blog_data";if (!mysql_connect($host, $user, $password)){echo "Error connection to MySQL server<br>";echo "ERROR ".mysql_errno()." ".mysql_error()."\n";}mysql_select_db($mybase);$my_query = mysql_query("SELECT * FROM " . $mytable)or die(mysql_error());while($data = mysql_fetch_array($my_query)){echo '<tr>';echo '<td class=right height="16">' . $data['id'] . '</td>';echo '<td class="center">' . $data['date'] . '</td>';echo '<td class="left">' . $data['info_rus'] . '</td>';echo '<td class="center">' . $data['on_off'] . '</td>';echo '<td class="center"><a href="?blogedit&id='.$data['id'].'"><img src="view/image/edit.png" border="0"</a></td>';echo '<td class="center"><a href="index.php?route=module/blog&token=,&id='.$data['id'].'"><img src="view/image/del.png" border="0"</a></td>';echo '</tr>';}mysql_close();?>2. если все это пытаюсь наковырять в контроллере - то не работает, всю голову сломал.... уже сутки бьюсь! Из примеров понять не получается....Может ли кто-нибудь Привести пример для моего случая, чтобы у меня в голове прояснилось..... -
Втом то и дело, что вроде что-то понятно, а у меня никак не работает!
Спасибо.
-
Хотелось бы узнать у вас, есть ли более-менее приличная и доходчивая литература по программированию в opencart?
буду рад любой информации... желательно на русском, если есть уроки, то тоже отлично!
У меня большие проблемы с контроллерами (реализация кода), поэтому пишу с помощью костылей "говнокод" в *.tpl, что в корне не верно!
Хотелось бы научиться писать правильно!
Использование переменной со значением из шаблона в контроллере и модели
в Допомога програмістам та розробникам
Опубліковано:
вот в том то и петрушка, приходится нагружать шаблон циклами (foreach) и при наличии огромного количества атрибутов и опций произойдет переполнение памяти. соответственно выполнение скрипта прервется, поэтому я хочу с запасом себя обезопасить... хотя все работает и так....