Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: 2 foreach и запись в БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Viper
Отправлено: 09 Июля, 2009 - 16:16:06
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Пытаюсь сделать запись в БД и последующее обновление, но затык с UPDATE

есть 2 цикла. пытаюсь вернуьт из низ массив с значениями но возвращается только 1 значение Однако

PHP:
скопировать код в буфер обмена
  1. $files = array();
  2.                 foreach ($_FILES['image_frames'] as $k => $l) {
  3.                         foreach ($l as $i => $v) {
  4.                                 if (!array_key_exists($i, $files))
  5.                         $files[$i] = array();
  6.                         $files[$i][$k] = $v;
  7.                         }
  8.                 }
  9.  
  10.                 foreach ($files as $file) {
  11.                         $handle = new Upload($file);
  12.                         $prefix_fr = 'fr_';
  13.                         $handle->file_max_size = $ka_max_file;
  14.                         $prefix = trim(strtolower($prefix));
  15.                         $prefix = str_replace(' ', '_', $prefix);
  16.                         $prefix = str_replace(':', '', $prefix);
  17.                         $prefix = str_replace('.', '__', $prefix);
  18.                         $prefix = str_replace('/', '', $prefix);
  19.                         $prefix = str_replace('\\', '', $prefix);
  20.                         $fl = substr($prefix, 0, 1);
  21.  
  22.                         if ($handle->uploaded) {
  23.                                 $handle->file_new_name_body = $prefix_fr;
  24.                                 $handle->file_name_body_add = $prefix;
  25.                                 $handle->jpeg_quality = 100;
  26.                                 $handle->image_resize = false;
  27.                                 $handle->process($ka_path_frames_movie.$fl.'/'.$prefix.'/');
  28.                                 if ($handle->processed) {
  29.                                         $path_web = str_replace($mosConfig_absolute_path, $mosConfig_live_site, $ka_path_frames_movie);
  30.                                         $link_fr_full = $path_web.$fl.'/'.$prefix.'/'.$handle->file_dst_name;
  31.  
  32.                                         $database->setQuery("INSERT INTO #__gallery VALUES ('', '".(int)$id."', '', '$link_fr_full', '', '', '', '', '', '', '', '', '', '', '')");
  33.                                         $database->query();
  34.                                         $lid = mysql_insert_id();
  35.                                 } else {
  36.                                         echo 'error : ' . $handle->error;
  37.                                 }
  38.                         }
  39.                 }
  40.  
  41.                 foreach ($files as $file) {
  42.                         $handle = new Upload($file);
  43.                         $prefix_th_fr = 'thumbs_fr_';
  44.                         $handle->file_max_size = $ka_max_file;
  45.                         $prefix1 = trim(strtolower($prefix1));
  46.                         $prefix1 = str_replace(' ', '_', $prefix1);
  47.                         $prefix1 = str_replace(':', '', $prefix1);
  48.                         $prefix1 = str_replace('.', '__', $prefix1);
  49.                         $prefix1 = str_replace('/', '', $prefix1);
  50.                         $prefix1 = str_replace('\\', '', $prefix1);
  51.                         $fr = substr($prefix1, 0, 1);
  52.  
  53.                         if ($handle->uploaded) {
  54.                                 $handle->file_new_name_body = $prefix_th_fr;
  55.                                 $handle->file_name_body_add = $prefix1;
  56.                                 $handle->jpeg_quality = $ka_thumbnail_quality;
  57.                                 $handle->image_resize = true;
  58.                                 $handle->image_x = $ka_screenshots_size;
  59.                                 $handle->image_ratio_y = true;
  60.                                 $handle->process($ka_path_frames_movie.$fr.'/'.$prefix1.'/');
  61.                                 if ($handle->processed) {
  62.                                         $path_web1 = str_replace($mosConfig_absolute_path, $mosConfig_live_site, $ka_path_frames_movie);
  63.                                         $link_fr_th = $path_web.$fr.'/'.$prefix1.'/'.$handle->file_dst_name;
  64.  
  65.                                         $database->setQuery("UPDATE #__gallery SET ga_thumbs_frames = '$link_fr_th' WHERE ga_id = '$lid'");
  66.                                         $database->query();
  67.                                         $handle->clean();
  68.                                 } else {
  69.                                         echo 'error : ' . $handle->error;
  70.                                 }
  71.                         }

прошу прощения за киллограмовый код...
первый цикл обрабатывает массив $_FILES и просто копирует файлы в нужное место. и заносит данные в БД.

в втором цикле те же файлы обрабатываются, копируются, и заносятся в соседний столбец той же БД. так вот проблема как раз в том что второй цикл обновляет строки не полностью, а только последнюю(т.к. LAST_INSERT_ID). Можно ли как-то синхронно обновлять строки в этом случае ?

PS! Цикла 2 потому что если сделать аплоад в одном, то класс загружает только 1 файл.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
valenok Модератор
Отправлено: 09 Июля, 2009 - 16:25:19
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




mysql_insert_id записывай в $_FILES['file']['lid'] а во втором цикле с этим значением и работай


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB