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


Копировать поле Фото


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

#21 adminTF

    Участник

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

Отправлено 02 Сентябрь 2013 - 12:55

Просмотр сообщенияCbCoder (02 Сентябрь 2013 - 12:27) писал:

Очевидно, "не так" - то что вы не проверяете наличие картинки перед тем как создать на нее ссылку, поэтому у вас и выходит пустой квадрат. Добавьте проверку в код.



Вы в вычислении в другой таблице зачем то используйте поле из первой ($line['фото']), которого очевидно в этой другой таблице нет. Разумеется в итоге будет пустота.
не подскажите код для такой проверки? И куда его вставить. Очень нужно.

#22 adminTF

    Участник

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

Отправлено 02 Сентябрь 2013 - 13:02

Уточню. Мне хочется чтобы можно было копировать фото из одной таблицы в другую. Например таблица №1 имеет поле "фото" table=251&field=8551, в котором вставлено изображение. Таблица №2 имеет поле "фото из фотографов" . Вот туда и я и хочу скопировать фотографию из первой таблицы. Отсюда и такой код
$line['фото из фотографов'] = "<a href='open_file.php?table=251&field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1'>
<img src='open_file.php?field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1' alt='' width='100' height='100' />
</a>";

#23 CbCoder

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

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

Отправлено 02 Сентябрь 2013 - 13:10

Цитата

не подскажите код для такой проверки

Обычное условие, пустое поле или нет:

if ($line['фото'])
{
    $line['копия фото'] = "<a href='open_file.php?table=251&field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1'><img src='open_file.php?field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1' alt='' width='100' height='100' /></a>";
}


#24 adminTF

    Участник

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

Отправлено 02 Сентябрь 2013 - 13:21

Просмотр сообщенияCbCoder (02 Сентябрь 2013 - 13:10) писал:

Обычное условие, пустое поле или нет:

if ($line['фото'])
{
	$line['копия фото'] = "<a href='open_file.php?table=251&field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1'><img src='open_file.php?field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1' alt='' width='100' height='100' /></a>";
}
Спасибо, работает )

#25 CbCoder

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

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

Отправлено 02 Сентябрь 2013 - 13:21

Цитата

Вот туда и я и хочу скопировать фотографию из первой таблицы. Отсюда и такой код

Еще раз повторюсь: вы заполняете поле во второй таблице с использованием поля из первой, так как будто оба этих поля находятся в одной таблице. В переменной $line находятся только поля из текущей записи текущей таблицы. Невозможно обращаться через $line сразу к полям двух разных таблиц. Исключение составляют поля связи, но и там обращение не прямое. См. документацию по вычислениям.

#26 adminTF

    Участник

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

Отправлено 06 Сентябрь 2013 - 14:49

Просмотр сообщенияCbCoder (02 Сентябрь 2013 - 13:21) писал:

Еще раз повторюсь: вы заполняете поле во второй таблице с использованием поля из первой, так как будто оба этих поля находятся в одной таблице. В переменной $line находятся только поля из текущей записи текущей таблицы. Невозможно обращаться через $line сразу к полям двух разных таблиц. Исключение составляют поля связи, но и там обращение не прямое. См. документацию по вычислениям.
Перечитал документацию, но решения моей задачи там не увидел. Пробовал писать вычисления, но все приводит к ошибке. Может у вас есть возможность добавить в документацию примеры вычислений, для копирования полей из разных таблиц?

#27 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 06 Сентябрь 2013 - 16:35

Просмотр сообщенияadminTF (02 Сентябрь 2013 - 13:02) писал:

Уточню. Мне хочется чтобы можно было копировать фото из одной таблицы в другую. Например таблица №1 имеет поле "фото" table=251&field=8551, в котором вставлено изображение. Таблица №2 имеет поле "фото из фотографов" . Вот туда и я и хочу скопировать фотографию из первой таблицы. Отсюда и такой код
$line['фото из фотографов'] = "<a href='open_file.php?table=251&field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1'>
<img src='open_file.php?field=8551&line=$ID&file=".urlencode($line['фото'])."&show=1' alt='' width='100' height='100' />
</a>";
Ваши таблицы не связаны между собой?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#28 adminTF

    Участник

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

Отправлено 09 Сентябрь 2013 - 14:19

Просмотр сообщенияandibrag (06 Сентябрь 2013 - 16:35) писал:

Ваши таблицы не связаны между собой?
Обе таблицы находятся в подчинении у третьей таблицы.
Попробую описать процесс который хочется видеть
есть таблица №1 ей подчинены таблицы №2 и №3. По условию изначально фото должно заноситься менеджером в таблицу №3, а от туда должно копироваться автоматически в таблицу №2. В таблице №1 фото не нужно, его можно скрыть, чтобы не отвлекало и не занимало место.

#29 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 11 Сентябрь 2013 - 21:40

Просмотр сообщенияadminTF (09 Сентябрь 2013 - 14:19) писал:

есть таблица №1 ей подчинены таблицы №2 и №3. По условию изначально фото должно заноситься менеджером в таблицу №3, а от туда должно копироваться автоматически в таблицу №2. В таблице №1 фото не нужно, его можно скрыть, чтобы не отвлекало и не занимало место.
Т.е. каждой записи в таблице 2 соответствует запись в таблице 3? Если так, то в таблицу 2 необходимо добавить поле, например Таб_3, в которое будет вносится номер записи из таблицы 3, с которой она синхронизируется. А дальше написать вычисление в Таблице 2, выполняемое при сохранении таблицы и изменении поля Фото:
if ($line['Файл']){   
   $files = preg_split("/[\n]+/", $line['Файл']);
   $files_link = '';
   foreach ($files as $filename) // перебираем все файлы в поле Файл
   {
	  $file_path = get_file_path('XXXX' ,$ID , $filename); // Получаем путь к файлу, где XXXX - номер поля Файл
	  $filename = trim($filename);
	  $files_link = $files_link?$files_link . "<br/>":$files_link;
	  $files_link .= '<a href="open_file.php?table=YYY&field=XXXX&line=' . $ID . '&file=' . $filename . '[color=#282828][font=helvetica, arial, sans-serif]&show=1[/font][/color]">' . $filename  . '</a>';
   }  
   $дата['Фото из фотографов'] = $files_link;
   if ($line['Таб_3']) {
	 update_query($data, "Таблица_3", "id=" . $line['Таб_3']); // если запись уже синхронизировалась ранее
   }else {
	  $new_id = insert_query($data, "Таблица_3"); // если запись новая
	  $line['Таб_3'] = $new_id;
   }
}
Но мне не ясен смысл такой синхронизации. Или я что-то пропустил.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#30 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 357 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 11 Сентябрь 2013 - 21:41

В коде выше перепутал таблицы местами.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения






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

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