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]   

> Без описания
Stas11
Отправлено: 02 Июля, 2013 - 15:52:10
Post Id


Новичок


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


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




Добрый день!
Помогите пожалуйста решить маленькую проблемку с корректной расстановкой кода.
У меня в админке есть возможность создать новую категорию для товаров, в форме я заполняю поля название категории, кейворд, дескрипшен и описание которое отображается на сайте вверху. Мне нужно было добавить поле для возможности добавлять текст и внизу страницы, всё сделал, всё работает, но работает если редактировать существующую категорию, а когда пытаюсь создать новую категорию Тест, пишет ошибку:

CODE (html):
скопировать код в буфер обмена
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '','',0, 0, 1, '', '', 'test', 'bony')' at line 1 SQL query : INSERT INTO ss_categories (name, parent, products_count, description, description_down, picture, products_count_admin, sort_order, show_subcategories_products, meta_description, meta_keywords, url, url_path ) VALUES ('Тест',210,0,'','',0, 0','',0, 0, 1, '', '', 'test', 'bony');



Изначально в коде стоит строка
PHP:
скопировать код в буфер обмена
  1. $_POST["desc"]."','',0, ".$_POST["sort_order"].

Я скопировал её и добавил ниже, изменив desc на desc_down и получилось так:
PHP:
скопировать код в буфер обмена
  1. $_POST["desc"]."','',0, ".$_POST["sort_order"].
  2. $_POST["desc_down"]."','',0, ".$_POST["sort_order"].

в таком варианте возникает вышеописанная ошибка, тогда я решил сделать так:
PHP:
скопировать код в буфер обмена
  1. $_POST["desc"]."','',0,'".$_POST["desc_down"]."', ".$_POST["sort_order"].

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

Я так понимаю я не правильно вставил код, или не разделил его, или допустил ещё какую то ошибку, поэтому прошу вашей помощи, как правильно написать код, чтобы не было синтаксической ошибки, и категория открывалась нормально после создания?

(Отредактировано автором: 02 Июля, 2013 - 15:52:48)

 
 Top
VenZell
Отправлено: 02 Июля, 2013 - 16:00:46
Post Id


Частый гость


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


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




Stas11, посчитай, сколько у тебя столбцов и сколько значений ты пытаешься вставить. Столбцов 13, а значений вставляешь 15.

Ну и еще вот тут:
Цитата:
'Тест',210,0,'','',0, 0'

кавычку потерял.

(Отредактировано автором: 02 Июля, 2013 - 16:02:10)

 
 Top
Stas11
Отправлено: 02 Июля, 2013 - 19:12:56
Post Id


Новичок


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


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




VenZell пишет:
Stas11, посчитай, сколько у тебя столбцов и сколько значений ты пытаешься вставить. Столбцов 13, а значений вставляешь 15.

Ну и еще вот тут:
Цитата:
'Тест',210,0,'','',0, 0'

кавычку потерял.


Так вот не понятно где проблема, все ковычки в коде стоят правильно, всё есть всё хватает, а выдаёт ошибку.
Вот полный код этой функции:
PHP:
скопировать код в буфер обмена
  1. " VALUES ('".$_POST["name"]."',".$_POST["parent"].",0,'".$_POST["desc"]."','',0, ".$_POST["sort_order"].$_POST["desc_down"]."','',0, ".$_POST["sort_order"].",$show_subcategories_products, '".$_POST["meta_d"]."', '".$_POST["meta_k"]."', '".$_POST["url"]."', '".$urlPath."');");

Я сюда добавил только
PHP:
скопировать код в буфер обмена
  1. $_POST["desc_down"]."','',0, ".$_POST["sort_order"].
без этой части кода всё работает отлично, а с ней ошибка. Недовольство, огорчение

(Отредактировано автором: 02 Июля, 2013 - 19:13:52)

 
 Top
VenZell
Отправлено: 02 Июля, 2013 - 21:50:19
Post Id


Частый гость


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


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




Stas11 и ты опять не всю "функцию" привел в пример. Начало где? Или у тебя код начинается с этой строки?
 
 Top
Stas11
Отправлено: 02 Июля, 2013 - 23:00:04
Post Id


Новичок


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


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




VenZell
В файле очень много кода, но насколько я понимаю, начало функции тут:
PHP:
скопировать код в буфер обмена
  1.  
  2.                 if (!isset($_POST["must_delete"])) //add new category
  3.                 {
  4.                         $q = db_query("INSERT INTO ".CATEGORIES_TABLE.
  5. " (name, parent, products_count, description, description_down, picture, ".
  6. " products_count_admin, sort_order, ".
  7. " show_subcategories_products, ".
  8. " meta_description, meta_keywords, url, url_path ) ".
  9. " VALUES ('".$_POST["name"]."',".$_POST["parent"].",0,'".
  10. $_POST["desc"]."','',0, ".$_POST["sort_order"].
  11. $_POST["desc_down"]."','',0, ".$_POST["sort_order"].
  12. ", $show_subcategories_products, '".
  13. $_POST["meta_d"]."', '".$_POST["meta_k"]."', '".$_POST["url"]."', '".$urlPath."');");
  14. $pid = db_insert_id("CATEGORIES_GEN");
  15.                 }
  16.                 else //update existing category
  17.                 {
  18.  
  19.                        


Полный код всего файла:
Спойлер (Отобразить)


Как я полагаю нужный код начинается со строки 171 под спойлером

То что я добавил это строки кода в котором присутствует $d_d, desc_down и description_down

Как эта форма выглядит на скрине:
То что я добавил в форме это Нижнее описание, верхнее было по умолчанию в скрипте и код отвечающий за верхнее описание имеет переменные $d, desc и description
Прикреплено изображение (Нажмите для увеличения)
1.jpg

(Отредактировано автором: 02 Июля, 2013 - 23:15:12)

 
 Top
VenZell
Отправлено: 02 Июля, 2013 - 23:16:38
Post Id


Частый гость


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


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




У тебя в таблице не хватает полей для того, чего ты хочешь. Я даже не знаю, как лучше объяснить... Ты пытаешься в две кружки по 500мл налить 2 литра воды. Создай сначала соответствующие столбцы в своей таблице под новые поля.

(Отредактировано автором: 02 Июля, 2013 - 23:22:35)

 
 Top
Stas11
Отправлено: 03 Июля, 2013 - 13:40:19
Post Id


Новичок


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


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




VenZell
В таблице все поля есть, я это поле сразу добавил и если открыть уже созданую категорию и написать в нижнем описании текст, и потом нажать кнопку Сохранить, то всё сохраняется, текст записывается в таблицу, а вот при создании новой категории, где то чего то не хватает.
Если как я писал выше, сделать вместо:
PHP:
скопировать код в буфер обмена
  1. $_POST["desc"]."','',0, ".$_POST["sort_order"].
  2.  
  3. $_POST["desc_down"]."','',0, ".$_POST["sort_order"].

вот так:
PHP:
скопировать код в буфер обмена
  1. $_POST["desc"]."','',0,'".$_POST["desc_down"]."', ".$_POST["sort_order"].

то ошибки при создании новой категории нету, все данные со всех полей сохраняются в таблице, но возникает другая ошибка, уже в пользовательской части и если нажать ссылку новой категории, то страница обновляется и пишет что не верные атрибуты папок или папки отсутствуют и пропадают все картинки на сайте.
Папки все есть, атрибуты стоят правильные, даже ставил 777 но всё равно пишет ошибку.
Тут закавыка где то в этом участке кода и скорее всего я не правильно построил код, типа:
Записать в таблицу Х в столбец Ч "текст" и следующая команда Записать в таблицу Х в столбец V "текст" и тут возникает ошибка, а если запрос идёт так: Записать в таблицу Х в столбец Ч "текст", и в столбец V "текст" тогда ошибки нету, но в пользовательской части ошибка.

Одним словом при редактировании существующих категорий, всё работает и сохраняется на ура, а при создании новой категории ошибка Недовольство, огорчение
Прикреплено изображение (Нажмите для увеличения)
2.jpg
 
 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