[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вытащить все из array в разные переменные
NoCash
такой вот код в $uploaded хранятся файлы добавляются в папку все картинки так как и нужно.
а вот как их оттуда в переменные что бы записать в базу?
if ($uploaded = file_upload('/'.e_PLUGIN."nboard/nb_pictures/", "attachment")){
foreach($uploaded as $name )
if ($name['error'] == 0 ) {
$nb_patch = e_PLUGIN.'nboard/nb_pictures/';
if(strstr($name['type'], "image")){
require_once(e_HANDLER."resize_handler.php");
$orig_file = $name['name'];
$gnl_pic1 = $orig_file;

то что выше написано добавляется только последняя картинка.
пробовал вот так
list ($gnl_pic1, $gnl_pic2, $gnl_pic3, $gnl_pic4, $gnl_pic5, $gnl_pic6) = $uploaded;

в базу добавляется надпись array.
tomash
А где сам код добавления в БД?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
NoCash
вот код для добавления в базу.
$sql = new db;
$sql -> db_Insert("nb_gnl", "0, '$cat_sub_id','$gnl_name','$gnl_city','$gnl_pic1','$gnl_pic2','$gnl_pic3','$gnl_pic4','$gnl_pic5','$gnl_pic6','$gnl_detail','$gnl_price','$gnl_user', '$gnl_phone','$gnl_email','$gnl_date_start','$gnl_date_end', '0'");


не могу понять просто почему вот тут
foreach($uploaded as $name )
из $uploaded присваивается в $name только название последней картинки а не всех.(
tomash
Цитата
из $uploaded присваивается в $name только название последней картинки а не всех.(

Как это? foreach проходит по массиву и передает в $name по одному елементу из $uploaded. Какая структура у $uploaded ?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
NoCash
$uploaded[$c]['name'] = $name;
$uploaded[$c]['rawname'] = $raw_name;
$uploaded[$c]['type'] = $files['type'][$key];
$uploaded[$c]['size'] = 0;
$uploaded[$c]['index'] = $key;

вот такая вот
tomash
ну так сделай в foreach


$gnl_pic = array_fill(0, 5, '');
// foreach
foreach($uploaded as $name) {
.....
$orig_file = $name['name'];
$gnl_pic[] = "'$orig_file'";


а при вставке в бд используй
$gnl_pic = implode(',', $gnl_pic);
...

db_Insert(... ,'$gnl_city',$gnl_pic ,'$gnl_detail',...

ну где то так

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
NoCash
сделал. приходят пустые значения, а последнее норм в базе вот так вот ,,,,,1357467326_0_logo.png
tomash
а сорри)
$cnt = count($gnl_pic) ;
if($cnt < 6){
$gnl_pic = array_fill($cnt, 6 - $cnt, '');
}


это после форича, а эту хрень убери
$gnl_pic = array_fill(0, 5, '');


_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
NoCash
этим способом в базу только 2 запятые добавляются(
tomash
а выведи что в $gnl_pic после форич лежит?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
NoCash
так стоп. первый способ сработал. я там скобочку не там ставил. правда оч. долго запрос идет сек 15 наверно.
tomash
$cnt = count($gnl_pic) ;
if($cnt < 6){
$gnl_pic = array_merge($gnl_pic, array_fill($cnt, 6 - $cnt, ''));
}


_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
tomash
NoCash
Вобще, у тебя всегда там 6 картинок в $uploaded?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
NoCash
нет не всегда. просто пока что не думал, как сделать так чтобы было не более 6 картинок.
tomash
$cnt = count($gnl_pic) ;
if($cnt < 6){
$gnl_pic = array_merge($gnl_pic, array_fill($cnt, 6 - $cnt, ''));
}
вот так попробуй

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.