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


Не отрабатывает условия в запросе, прошу помощи.

select

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

#1 mitkya

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 05 Февраль 2014 - 10:34

Здравствуйте, не очень силен в php, где-то вероятно ошибка в коде, не срабатывает запрос, вернее не работает условие по полю f4161
поле f4161 - номер договора (шаблон: день+месяц+год)
поле f4391 - num будет подставляться к шаблону 01, 02, 03 и т.д)
Все хранится в одной таблице
При добавлении записи num все время принимает значение 1

$str_ = strftime("%d%m%y");
$line['Номер договора']=$str_;
if ($line['num']==0) {
  $sqlQuery = "SELECT max(`f4391`) AS maxNUM FROM `".DATA_TABLE."341` WHERE `status`<>'2' AND `f4161`=='" . $str_ . "')";
  $result = mysql_query($sqlQuery) or user_error(mysql_error() . "<br>" . $sqlQuery . "<br>", E_USER_ERROR);
  $row = mysql_fetch_assoc($result);
  $line['num']=$row['maxNUM']+1;
}

Только начал изучать, но уже нравиться....

#2 CbCoder

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

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

Отправлено 05 Февраль 2014 - 17:02

Ваши познания в php здесь нипричем, вы неверно задаете внутренний формат хранения даты в БД. В базе дата хранится в формате "Y-m-d 00:00:00", например "2014-02-05 00:00:00" для 5 февраля сего года.

#3 mitkya

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 05 Февраль 2014 - 17:17

Просмотр сообщенияCbCoder (05 Февраль 2014 - 17:02) писал:

Ваши познания в php здесь нипричем, вы неверно задаете внутренний формат хранения даты в БД. В базе дата хранится в формате "Y-m-d 00:00:00", например "2014-02-05 00:00:00" для 5 февраля сего года.
вероятно не совсем правильно объяснил. поле текстовое и в нем хранится строка:
$str_ = strftime("%d%m%y");
$line['Номер договора']=$str_;
строки я и сравниваю.
Только начал изучать, но уже нравиться....

#4 CbCoder

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

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

Отправлено 05 Февраль 2014 - 17:59

Значит, где-то в другом месте запроса ошибка. Может с id полей ошиблись, может mysql не понимает сравнения "==" (обычно используют просто "="). В самом php-коде ошибок нет, ошибка в возврате значения запросом.

#5 mitkya

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 05 Февраль 2014 - 18:14

Просмотр сообщенияCbCoder (05 Февраль 2014 - 17:59) писал:

Значит, где-то в другом месте запроса ошибка. Может с id полей ошиблись, может mysql не понимает сравнения "==" (обычно используют просто "="). В самом php-коде ошибок нет, ошибка в возврате значения запросом.
вот! в этом то и дело. пробовал просто "="
пробовал такой же запрос с 'count' - не работает также. id поля там зачем? я делаю запрос на выборку всех записей, из конкретной таблицы, с конкретным условием. Может что-то в mysql не понимаю?
должна собраться строка:
к примеру таблица dogovor.
поля nomer - текстовое.
num - числовое
select max(num) as maxNum from dogovor where (status<>2 and nomer='050214')
как то так. номер присваивается всем договорам за день. Это первая часть номера. вторая часть 01, 02, 03 и т.д. Клиент тут не важен.
Никак не решу, уже пару дней бьюсь
Буду благодарен за помощь.

P/S
номера полей проверил на всякий случай только что.

Сообщение отредактировал mitkya: 05 Февраль 2014 - 18:22

Только начал изучать, но уже нравиться....

#6 CbCoder

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

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

Отправлено 06 Февраль 2014 - 09:07

Чтобы убедиться, что ошибка в запросе, откройте edit_sql.php и выполните/отладьте строку запроса сначала там.

#7 mitkya

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 06 Февраль 2014 - 09:51

а в saas как это сделать? я пока новенький и многого не знаю.... :(
Только начал изучать, но уже нравиться....

#8 CbCoder

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

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

Отправлено 06 Февраль 2014 - 09:57

Так я же написал: "откройте edit_sql.php". Это значит к адресу вашей Клиентской базы в адресной строке браузера добавляете "edit_sql.php", например "http://ваш_аккаунт.clientbase.ru/edit_sql.php". Это на всех версиях работает, saas она или не saas.

#9 mitkya

    Участник

  • Пользователи
  • PipPip
  • 13 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 06 Февраль 2014 - 10:17

спасибо. я просто не понял. сейчас попробую
Только начал изучать, но уже нравиться....





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

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