Перейти к содержимому


Как правильно составить запрос?


Сообщений в теме: 10

#1 mahmud

    Активный участник

  • Пользователи
  • PipPipPip
  • 67 сообщений

Отправлено 01 Ноябрь 2012 - 14:37

Добрый день уважаемые программисты,

Этот запрос у меня рабочий, как сделать при входе в таблицу работал этот запрос

$row_update = mysql_query(SELECT id, user_id, add_time, status, f1205, f1206,
IF((SELECT id FROM cb_data46 cb46 WHERE id=cb92.id AND f1301<>0),
(SELECT f1301 FROM cb_data46 cb46 WHERE id=cb92.id),
f1207) AS f1207, f1208 FROM cb_data92 cb92);



Заранее спасибо !

Сообщение отредактировал mahmud: 01 Ноябрь 2012 - 14:39


#2 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 01 Ноябрь 2012 - 15:19

Если запрос у вас именно в таком виде в вычислениях, то работать он явно не будет. Насколько я понял ваши нужды, добавьте вычисление в таблицу с уловием "при отображении поля". А код измените на следующий:
$sqlQuery = "SELECT id, user_id, add_time, status, f1205, f1206,
        IF((SELECT id FROM ".DATA_TABLE."46 cb46 WHERE id=cb92.id AND f1301<>0),
                (SELECT f1301 FROM ".DATA_TABLE."46 cb46 WHERE id=cb92.id),
                        f1207) AS f1207, f1208 FROM ".DATA_TABLE."92 cb92";
$row = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);

Сообщение отредактировал wondertalik: 01 Ноябрь 2012 - 15:20


#3 mahmud

    Активный участник

  • Пользователи
  • PipPipPip
  • 67 сообщений

Отправлено 01 Ноябрь 2012 - 18:21

Просмотр сообщенияwondertalik (01 Ноябрь 2012 - 15:19) писал:

Если запрос у вас именно в таком виде в вычислениях, то работать он явно не будет. Насколько я понял ваши нужды, добавьте вычисление в таблицу с уловием "при отображении поля". А код измените на следующий:
$sqlQuery = "SELECT id, user_id, add_time, status, f1205, f1206,
		IF((SELECT id FROM ".DATA_TABLE."46 cb46 WHERE id=cb92.id AND f1301<>0),
				(SELECT f1301 FROM ".DATA_TABLE."46 cb46 WHERE id=cb92.id),
						f1207) AS f1207, f1208 FROM ".DATA_TABLE."92 cb92";
$row = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);

Не знаю почему но этот запрос не работает.

#4 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 01 Ноябрь 2012 - 19:18

Код аналогичен Вашему. Я его только привел в порядок согласно правилам оформления php и указал константы Кб.

Сообщение отредактировал wondertalik: 01 Ноябрь 2012 - 19:19


#5 mahmud

    Активный участник

  • Пользователи
  • PipPipPip
  • 67 сообщений

Отправлено 02 Ноябрь 2012 - 08:07

Просмотр сообщенияwondertalik (01 Ноябрь 2012 - 19:18) писал:

Код аналогичен Вашему. Я его только привел в порядок согласно правилам оформления php и указал константы Кб.

У меня есть таблица и там по умолчанию выбирает все строки.
Как мне написать в вычисление чтоб выбрал поле где id например 1
$sqlQuery = "SELECT * FROM ".DATA_TABLE."92 cb92 WHERE id=1";
$row = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
У меня запрос не выполняется.
Как написать правильно чтоб этот запрос работал для этой таблицы.

Сообщение отредактировал mahmud: 02 Ноябрь 2012 - 08:53


#6 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 02 Ноябрь 2012 - 09:26

Просмотр сообщенияmahmud (02 Ноябрь 2012 - 08:07) писал:

У меня есть таблица и там по умолчанию выбирает все строки.
Как мне написать в вычисление чтоб выбрал поле где id например 1
$sqlQuery = "SELECT * FROM ".DATA_TABLE."92 cb92 WHERE id=1";
$row = sql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
У меня запрос не выполняется.
Как написать правильно чтоб этот запрос работал для этой таблицы.
C чего вы решили что запрос не выполняется? Галочка напротив вычисления стоит?

#7 mahmud

    Активный участник

  • Пользователи
  • PipPipPip
  • 67 сообщений

Отправлено 02 Ноябрь 2012 - 09:49

Просмотр сообщенияwondertalik (02 Ноябрь 2012 - 09:26) писал:

C чего вы решили что запрос не выполняется? Галочка напротив вычисления стоит?

Да галочка стоит, почему - то запрос не выполняется


http://s3.uploads.ru/SVLcW.jpg

Сообщение отредактировал mahmud: 02 Ноябрь 2012 - 09:52


#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 02 Ноябрь 2012 - 09:55

Вы похоже опять путаете вычисления с фильтрами. Еще раз повторюсь: отбор строк при входе в таблицу реализуется в КБ не вычислениями, а фильтрами. Я вам уже давал ссылку на документацию: http://clientbase.ru...16/filters_new/

#9 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 02 Ноябрь 2012 - 09:56

Просмотр сообщенияmahmud (02 Ноябрь 2012 - 09:49) писал:

Да галочка стоит, почему - то запрос не выполняется

Запрос выполняется. Что вы хотите делать с полученным результатом? Вы же никуда его не подставляете, запрос просто выполнился и все. Ваша выборка содержится в $row['id'].

#10 mahmud

    Активный участник

  • Пользователи
  • PipPipPip
  • 67 сообщений

Отправлено 02 Ноябрь 2012 - 15:24

Просмотр сообщенияwondertalik (02 Ноябрь 2012 - 09:56) писал:

Запрос выполняется. Что вы хотите делать с полученным результатом? Вы же никуда его не подставляете, запрос просто выполнился и все. Ваша выборка содержится в $row['id'].

Спасибо огромное

#11 bottrop

    Активный участник

  • Пользователи
  • PipPipPip
  • 153 сообщений
  • Пол:Мужчина
  • Город:Армавир

Отправлено 01 Декабрь 2016 - 22:44

Вопрос по выборкам:
В контрагента клиента есть связанное поле Объекты, при нажатии открывается список объектов (отфильтрованный) принадлежащих данному контрагенту.
Ссылка имеет вид: http://домен.ру/fiel...rel_field=10850
Вопрос: как сделать, чтобы при нажатии на дополнительное действие во всплывающем окне появлялась такая выборка по контрагенту?
Делаю ссылку http://alfabase.ru/f...rel_field=10850, где 1365 меняю на id записи, ссылка не работает.
Подскажите как должно выглядеть подобное вычисление?





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных