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


редактирование подчиненных записей в основной таблице


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

#1 arsenal

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

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

Отправлено 01 Сентябрь 2011 - 13:57

Заметил такую штуку.
Есть таблица "Заявки" и подчиненная таблица "Объекты".
В таб. "Заявки" есть код, который берет данные из таблицы "Объекты" и выполняет некоторое действие.
Если я при редактировании "Заявки" заполняю поля из таблицы "Объекты" и сохраняю, то код срабатывает так, как будто поля из таблицы "Объекты" не заполнены. Если повторно нажать редактировать/сохранить, то все срабатывает как положено.
Что-то здесь не додумано.
Вот код
$sqlQuery = "SELECT * FROM ".DATA_TABLE."99 WHERE status=0 AND f1299={ID}"; // Выбираем запись в таблице "Объекты" к текущей заявке
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
while ($row = mysql_fetch_array($result))
{
if ($row['f1300']=="" and $row['f1313']=="")
echo "<script>location.href='".$config["site_root"]."/fields.php?table=99&rel_table=83&rel_field=1299&rel_value=".$data['ID']."'</script>";
}


#2 CbCoder

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

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

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

Не совсем понял что именно за код - вычисление в поле? Тогда почему в коде echo, а не return?

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

#3 arsenal

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

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

Отправлено 01 Сентябрь 2011 - 15:29

Просмотр сообщенияРазработчик (1.9.2011, 15:19) писал:

Не совсем понял что именно за код - вычисление в поле? Тогда почему в коде echo, а не return?

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

Это вычисление в таблице.
И, кстати, другой вопрос возник. Если я в основной записи буду редактировать подчиненную таблицу, то при сохранении код в подчиненной таблице сработает?

Сообщение отредактировал arsenal: 01 Сентябрь 2011 - 15:32


#4 CbCoder

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

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

Отправлено 01 Сентябрь 2011 - 15:54

Просмотр сообщенияarsenal (1.9.2011, 16:29) писал:

Это вычисление в таблице.
Тогда проблема в том, что вычисление в основной записи срабатывает раньше чем сохранение подчиненной. Эту проблему будем решать. Как вариант, вы можете перенести код из основной таблицы в подчиненную, с некоторым изменением алгоритма.

Просмотр сообщенияarsenal (1.9.2011, 16:29) писал:

И, кстати, другой вопрос возник. Если я в основной записи буду редактировать подчиненную таблицу, то при сохранении код в подчиненной таблице сработает?
Да, при сохранении срабатывают вычисления во всех записях, и в основной и в каждой из подчиненных.





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

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