Прямой запрос к базе Mysql
Модератор: immortal
-
- Сообщения: 6
- Зарегистрирован: Чт апр 02, 2020 10:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Прямой запрос к базе Mysql
Добрый день.
Прошу помощи, не могу разобраться.
Необходимо на сцену вывести значение из db_terminal.test
Просто пример, в таблице test есть две колонки:
id = 1
name = Вася
Нашел эту статью https://kb.mjdm.ru/funkcii-raboti-s-baz ... majordomo/
В данной статье написано что "В систему встроено несколько функций для работы непосредственно с базой данных. Эти функции доступны как из исходного кода системы, так и из любого метода или сценария..."
Попробовал из того что есть, а дальше как не понимаю
$result = SQLSelect('SELECT * FROM test WHERE id="1"');
Можно ли вообще нормально с этим механизмом работать или лучше не стоит?
Прошу помощи, не могу разобраться.
Необходимо на сцену вывести значение из db_terminal.test
Просто пример, в таблице test есть две колонки:
id = 1
name = Вася
Нашел эту статью https://kb.mjdm.ru/funkcii-raboti-s-baz ... majordomo/
В данной статье написано что "В систему встроено несколько функций для работы непосредственно с базой данных. Эти функции доступны как из исходного кода системы, так и из любого метода или сценария..."
Попробовал из того что есть, а дальше как не понимаю
$result = SQLSelect('SELECT * FROM test WHERE id="1"');
Можно ли вообще нормально с этим механизмом работать или лучше не стоит?
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: Прямой запрос к базе Mysql
А дальше что-то вроде "sg('Объект.Свойство', $result);"
И вывести свойство на сцену.
И вывести свойство на сцену.
-
- Сообщения: 6
- Зарегистрирован: Чт апр 02, 2020 10:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: Прямой запрос к базе Mysql
Не совсем понял, прошу прощения.
Слева на панели Объекты - Создать новый класс. Создал новый объект и привязал к этому классу.
Открываю этот объект и сверху меню (Основное, Свойства, Методы, Объеты, Шаблон отображения)
Нижнее меню (Детали, Свойства, Методы)
И куда вставлять этот код я уже запутался. В методы - там есть поле код
На сцене создал Информер, выбрал объект и свойство, и ничего не происходит
Слева на панели Объекты - Создать новый класс. Создал новый объект и привязал к этому классу.
Открываю этот объект и сверху меню (Основное, Свойства, Методы, Объеты, Шаблон отображения)
Нижнее меню (Детали, Свойства, Методы)
И куда вставлять этот код я уже запутался. В методы - там есть поле код
На сцене создал Информер, выбрал объект и свойство, и ничего не происходит
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: Прямой запрос к базе Mysql
Если вручную запустить метод, в который вы вставили этот код, в выбранном свойстве объекта и в информере на сцене результат появляется ? Скрин можно ?
-
- Сообщения: 6
- Зарегистрирован: Чт апр 02, 2020 10:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: Прямой запрос к базе Mysql
Нет, результат не появляется.
Я понимаю что делаю что то не то, и похоже путаюсь в свойствах и методах для классов и объектов.
И правильно ли что информер?
Я понимаю что делаю что то не то, и похоже путаюсь в свойствах и методах для классов и объектов.
И правильно ли что информер?
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: Прямой запрос к базе Mysql
Это относится ко всему классу.
А это уже свойства и методы конкретного объекта, открытого в данный момент.
В нижнем меню нажать на "Методы" и в открывшемся окне создать какой-то свой метод. В его код вставить:
Код: Выделить всё
$result = SQLSelect('SELECT * FROM test WHERE id="1"');
sg('Объект.Свойство', $result);
В данном случае дело не в информере, результат должен появиться в свойстве объекта, а оттуда его уже можно будет вывести куда угодно.
- Рейтинг: 1.16%
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Прямой запрос к базе Mysql
Так делать не надо. В $result после селекта будет содержатся массив. Присваивать свойству массив не самая хорошая идеяJilber писал(а): ↑Пн сен 14, 2020 11:15 pmКод: Выделить всё
$result = SQLSelect('SELECT * FROM test WHERE id="1"'); sg('Объект.Свойство', $result);
Код: Выделить всё
$result = SQLSelectOne('SELECT * FROM test WHERE id="1"');
sg('Объект.Свойство', $result['name']);
- Рейтинг: 1.16%
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: Прямой запрос к базе Mysql
Сейчас человеку нужно понять как вообще получить что-то из базы и вывести куда-то (просто в свойство, на сцену, в меню, и т.д.). Этот запрос и таблицу "test" он привёл просто для примера. Когда с этим разберётся тогда подскажете ему с конкретным запросом к конкретной таблице.
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Прямой запрос к базе Mysql
Вот я и говорю, что таким образом ничего не получится, потому что таким образом мы будем пытаться записать в свойство массивJilber писал(а): ↑Пн сен 14, 2020 11:35 pmСейчас человеку нужно понять как вообще получить что-то из базы и вывести куда-то (просто в свойство, на сцену, в меню, и т.д.). Этот запрос и таблицу "test" он привёл просто для примера. Когда с этим разберётся тогда подскажете ему с конкретным запросом к конкретной таблице.
-
- Сообщения: 6
- Зарегистрирован: Чт апр 02, 2020 10:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: Прямой запрос к базе Mysql
Спасибо большое, теперь понял как это работает. И спокойно вывел на информер и любое место
Jilber писал(а): ↑Пн сен 14, 2020 11:15 pmРазумеется в строке "sg('Объект.Свойство', $result);" 'Объект.Свойство' надо заменить на свои. После этого запустить этот метод вручную. В свойстве должен появиться результат.Код: Выделить всё
$result = SQLSelect('SELECT * FROM test WHERE id="1"'); sg('Объект.Свойство', $result);
В данном случае дело не в информере, результат должен появиться в свойстве объекта, а оттуда его уже можно будет вывести куда угодно.