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 :: Уличная магия.

 PHP.SU

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


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

> Описание: HELP!!!
Dezmont
Отправлено: 13 Апреля, 2012 - 17:57:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


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




Добрый день, помогите пожалуйста. Уже всю голову сломал, вообще ничего не могу понять.

Есть следующий кусок php кода:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $pole = $grid->getColModel();
  3. foreach($pole as $k=>$v){
  4.         $fufufu[] = $v['name'];
  5. }
  6.  
  7. $fields = array('name','id_type','u_address','p_address','phone','fax','e_mail','site','locality','area','inn','kpp','bank','r_bill','k_bill','bik','ogrn','position_id','head','osnovanie','value_added_tax','notes','id');
  8.  
  9. if($grid->oper=='edit')
  10. {
  11.     $data = $_POST;
  12.        
  13.         foreach($fufufu as $val){
  14.                 if(isset($data[$val]))
  15.                 {
  16.                         if($data[$val]=='null' || $data[$val]=='')
  17.                         {
  18.                                 $data[$val] = NULL;
  19.                         }
  20.                 }
  21.         }
  22.     $grid->update($data);
  23.     $grid->edit = false;
  24. }
  25.  


Массив $fufufu === $fields. Но когда я в 13 строке изменяю в цикле для перебора массив $fufufu на $fields, скрипт ведёт себя совершенно по другому.
Этот код пишу в библиотеке jqSuite для jqCrop.
В итоге:
2 абсолютно идентичных массива. В обоих случаях всё работает. Но в 1 случае в БД записываются NULL значения, а в другом - пустые строки.

Если точнее, когда использую $fufufu - пишет пустые строки. Когда $fields - пишет NULL.

Подскажите хотя бы куда копать???
 
 Top
LIME
Отправлено: 13 Апреля, 2012 - 18:14:18
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




может не пустые строки а непечатаемые символы заносятся?
 
 Top
Dezmont
Отправлено: 13 Апреля, 2012 - 19:58:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


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




LIME, да нет. Пустая строка заносится в базу данных.
По умолчанию, если в форме ничего не напечатано в БД пишется пустая строка. Я этим скриптом делаю так, чтобы записывалось NULL значение туда, куда можно.

В массивах $fields и $fufufu содержатся названия столбцов. Они абсолютно идентичны, т.е. вот так: $fields === $fufufu

Но 1 массив я создаю руками, а второй, создаётся динамически. И используя тот, который создаётся динамически в БД пишутся пустые строки.

Тут где-то в ООП загвоздка, в том в каком порядке работает библиотека, но я чёт додуматься не могу(
 
 Top
LIME
Отправлено: 13 Апреля, 2012 - 20:01:58
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




вообще-то лучше писать пустые строки чем null
пункт 11
 
 Top
Dezmont
Отправлено: 13 Апреля, 2012 - 20:50:54
Post Id



Частый гость


Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010  


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




LIME, спасибо за ссылку, любопытный блог. Это я знаю и не пишу поля NULL везде. В базе у меня определено, где NULL, а где NOT NULL. Нужен именно ответ на мой предыдущий вопрос... Или хотя бы чьё-нибудь предположение, куда копать? ))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB