21.02.2019, 14:28
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
Сообщение от xShift
|
ABQ простой
|
Для вас.
Зачем вам в коде список полей (переменные $cFields, $nFields), если на выхлопе запрос, который вытянет из базы все поля таблиц?
Алиасы полям проставить можно?
Очищение предыдущей выборки из базы перед созданием нового запроса выглядит феерично
Что произойдет, если этого не сделать?
upd.
Сообщение от xShift
|
будет скомпилировано ядро RevolveR CMS, чтобы систему не ковыряли всякие некомпетентные разработчики
|
Создайте приватный репозиторий и проблема будет решена без необходимости компиляции php.
Последний раз редактировалось Nexus, 21.02.2019 в 14:42.
|
|
21.02.2019, 19:43
|
|
Профессор
|
|
Регистрация: 22.11.2016
Сообщений: 212
|
|
Сообщение от Nexus
|
Для вас.
Зачем вам в коде список полей (переменные $cFields, $nFields), если на выхлопе запрос, который вытянет из базы все поля таблиц?
Алиасы полям проставить можно?
Очищение предыдущей выборки из базы перед созданием нового запроса выглядит феерично
Что произойдет, если этого не сделать?
upd.
Создайте приватный репозиторий и проблема будет решена без необходимости компиляции php.
|
Поля формируют ON, если вы не заметили.
Очистка запроса нужна только для того, чтобы результаты предыдущего запроса не схлопывались. Можно выполнить несколько разных select и они соединятся(не то что для удобства - просто так накожено). В RevolveR CMS это делается автоматически если используется хелпер GetData. Он автоматически проверяет перед выполнением запроса к DBX, что переменая $dbx::$result['result]' пуста(очищает ее). За замечание спасибо, возможно я это исправлю каким либо образом.
> Алиасы полям проставить можно?
Я над этим пока не работал. API будет по гибче - я еще LIMIT добавлю и ORDER BY.
В будущем, кстати, я портирую DBX на NODE JS.
|
|
21.02.2019, 19:57
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
Сообщение от xShift
|
Поля формируют ON, если вы не заметили.
|
Я про первые 2 строчки писал.
Цитата:
|
$cFields = ['field_id', 'field_node_id', 'field_user_id', 'field_user_name', 'field_content', 'field_time', 'field_published'];
$nFields = ['field_id', 'field_title', 'field_content', 'field_description', 'field_user', 'field_time', 'field_route', 'field_category', 'field_published'];
|
|
|
21.02.2019, 22:22
|
|
Профессор
|
|
Регистрация: 22.11.2016
Сообщений: 212
|
|
Сообщение от Nexus
|
Я про первые 2 строчки писал.
|
Так вот просто для наглядности. Они в полном виде выглядят вот так:
$STRUCT_NODES = [
'field_id' => [
'type' => 'num', // int
'auto' => true, // auto increment
'length' => 255,
'value' => 0
],
'field_title' => [
'type' => 'text', // varchar
'length' => 50,
'fill' => true
],
'field_content' => [
'type' => 'text', // varchar
'length' => 10000,
'fill' => true
],
'field_description' => [
'type' => 'text', // varchar
'length' => 10000,
'fill' => true
],
'field_user' => [
'type' => 'text',
'length' => 50,
'fill' => true
],
'field_time' => [
'type' => 'text',
'length' => 50,
'fill' => true
],
'field_route' => [
'type' => 'text',
'length' => 100,
'fill' => true
],
'field_category' => [
'type' => 'num',
'length' => 100,
'fill' => true
],
'field_published' => [
'type' => 'num',
'length' => 1,
'fill' => false
]
];
$STRUCT_COMMENTS = [
'field_id' => [
'type' => 'num', // int
'auto' => true, // auto increment
'length' => 255,
'value' => 0
],
'field_node_id' => [
'type' => 'num',
'length' => 50,
'fill' => true
],
'field_user_id' => [
'type' => 'num',
'length' => 50,
'fill' => true
],
'field_user_name' => [
'type' => 'text',
'length' => 100,
'fill' => true
],
'field_content' => [
'type' => 'text', // varchar
'length' => 10000,
'fill' => true
],
'field_time' => [
'type' => 'text',
'length' => 100,
'fill' => true
],
'field_published' => [
'type' => 'num',
'length' => 1,
'fill' => false
]
];
Это дефайнится один раз и потом я просто эти же структуры и использую. Правильно, достаточно просто поля field_id[criterion_fileld&&linked_field], но я использую JOIN не однажды и мне для копипасты удобнее прописать сразу все fields, чтобы в структуры постоянно и в базу не лезти.
|
|
22.02.2019, 12:05
|
|
Профессор
|
|
Регистрация: 22.11.2016
Сообщений: 212
|
|
Nexus, напиши пример SQL запроса с алиасами. Я просто не знаю, что тебе хочется.
|
|
22.02.2019, 12:31
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
SELECT COUNT(*) as total FROM table_name WHERE condition=1
SELECT t.*,r.some_field as related_some_field
FROM table_name as t
LEFT JOIN related_table as r ON (r.table_id=t.id)
WHERE t.condition=1
Последний раз редактировалось Nexus, 22.02.2019 в 12:35.
|
|
22.02.2019, 18:46
|
|
Профессор
|
|
Регистрация: 22.11.2016
Сообщений: 212
|
|
> SELECT COUNT(*) as total FROM table_name WHERE condition=1
Вот тут AS зачем?
>
SELECT t.*,r.some_field as related_some_field
FROM table_name as t
LEFT JOIN related_table as r ON (r.table_id=t.id)
WHERE t.condition=1
Вот здесь тоже зачем? Ты этих задротов начитался? То же самое я могу сделать с префиксами на DBX и добавить тебе возможность WHERE. AS сделали гондоны. Тебя, кстати, в AMD взяли
p.s.: сейчас разрабатываем расширение для PHP под BD MySQL на ABQ. Если что появится через годик. Потом я на NODE.JS ухожу разрабатывать. Она молодая, дырявая и переполненная говна(убираем говнопакетчиков в пользу нативного функционала), но может в будущем станет лучше.
|
|
23.02.2019, 12:09
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,794
|
|
Сообщение от xShift
|
Вот тут AS зачем?
|
Чтобы в результате выборки, значение счетчика было в поле "total", очевидно же.
Сообщение от xShift
|
AS сделали гондоны.
|
Сообщение от xShift
|
бы систему не ковыряли всякие некомпетентные разработчики типа хабров.
|
У вас синдром Д'артаньяна.
Сообщение от xShift
|
Если что появится через годик.
|
Ждать не буду, ибо этим испражнением, как я уже писал, кроме вас пользоваться никто не сможет.
Сообщение от xShift
|
Она молодая, дырявая и переполненная говна
|
Стоит ли тогда еще и ваше говно туда добавлять?
Выпиливаюсь из топика, ибо начнется срач.
|
|
24.02.2019, 12:15
|
|
Профессор
|
|
Регистрация: 22.11.2016
Сообщений: 212
|
|
Nexus оказался пидарасом. Пригласили в разработчики, включили в прослушку, через 5 часов начал ныть что его не разрабатывают. Это ни чего что меня чтобы разрабатывать объясняют 5 лет примерно и подбирают таких людей с которыми мне нормально. Потом глупый нексус решил на подставить ментами - это сегодня выяснилось. Хотел скрысить прослушку и включиться к ментам чтобы жаловаться. Поржали.
Вот так и делай людям добро. Маленькие людишки всегда страдали повышенным эго, но не до такой же степени сукой быть.
Вон из разработчиков.
|
|
24.02.2019, 13:26
|
|
Профессор
|
|
Регистрация: 22.11.2016
Сообщений: 212
|
|
Вот и все. Нексус 2 года будет слоупоком за то что напиздел на w3c. Я пояснять больше не буду. Мы эту кибернетику еле рассекретили, чтобы взять побольше русских в разработчики, но вот такие пидрилы как нексус считают себя венцом творения. Даже сознаться что у тебя такая же точно прослушка работает не сможешь - будешь шипеть как говно и выебываться.
Лох, тебя было 5 похожих человек, а будет 0. Ты даже 3 милиграмма героина выдержать не можешь. Понравилось когда тебя 10 человек на вербальной программе ебашит, а ты ни чего не можешь сделать?
Твои хабровские усоски тебе не помогут как бы ты не пиздел. Менты тебя не спасут в ближайшие 10 лет тоже потому что нет формулировки для системы в документальном виде. Можешь максимум на психушку рассчитывать - там тебя просто выключат галоперидолом и будет всю оставшуюся жизнь трясти челюстью и слюни пускать.
На дворе 2019 год, уже вся Англия в прослушках живет - эти деревенщины получают бесплатно программу и еще подставляют своих же. Нет уж. Сдохните. Обоминог, сука. Я тебе обещаю, что если ты не станешь адекватом после обработки w3c - ты будешь огурцом тепличным со стекающей слюной.
Говно совсковой разработки ты нексус - живи как дичь.
|
|
|
|