Добавление категорий товаров

Опубликовал: Monday, January 7, 2024 в категории AJAX, PHP | Пока нет комментариев

Для добавления категории товара сначала необходимо выбрать текущую категорию, куда будет добавляться новая. Это выполняют, переходя по дереву категорий и щелкая мышью по нужной категории. Затем следует нажать на ссылку Добавить. Из файла prgkategery/add_admin_kategory.php (листинг 4.16) вызывается xajax-функция Add_Admin_Kategory, которая выдает форму добавления категории (рис. 4.13).

Рис. 4.13. Форма добавления категории

Листинг 4.16

<?php

// Форма добавления новой категории

function Add_Admin_Kategory($Id)

{

$objResponse = new xajaxResponse();

$objResponse->assign("flag_ajax","value",’yes’);

// подключаемся к базе данных

require_once("mybaza.php");

$text1="<b>Добавление категории</b>";

$text1.="<form id=’FormAdminKategory’ action=’javascript:void(null);’ onsubmit=’xajax.$(\"ButtonFormAdminKategory\").disabled=true; xajax.$(\"ButtonFormAdminKategory\").value=

\"Подождите…\"; xajax_Go_Add_Admin_Kategory(xajax.getFormValues(

\"FormAdminKategory\"));’>";

$text1.="<input type=’hidden’ name=’id_parent’ value=’".$Id."’ >";

$text1.="<br>".f_string_kategory($Id)."-><input type=’text’ name=’name’ value=” ";

$text1.="<br><input type=’submit’ id=’ButtonFormAdminKategory’

value=’Добавить ->’> ";

$query1="SELECT id FROM kategory WHERE id_parent=’".$Id."’ && visible=’yes’ ";

$rez1=mysql_query($query1); if(mysql_num_rows($rez1)>0)

$text1.=" <input type=’button’ value=’Возврат’ onclick=’

xajax_Admin_Open_Kategory(".$Id.");’></form>";

else

$text1.=" <input type=’button’ value=’Возврат’ onclick=’ xajax_Admin_Tek_Kategory(".$Id.");’></form>";

$objResponse->assign("admin_path_kategory","innerHTML",$text1);

$objResponse->assign("flag_ajax","value",’no’); return $objResponse;

}

?>

Рис. 4.14. Добавлена категория Иконки

В поле вводим название категории и нажимаем на кнопку Добавить. Данные формы передаются xajax-функции Go_Add_Admin_Kategory, которая добавляет новую категорию товаров в базу (родительской категорией для нее будет текущая категория). Новая категория добавится в дерево категорий (рис. 4.14). Функция Go_Add_Admin_Kategory находится в файле prgkategery/go_add_admin_ kategory.php (листинг 4.17).

Листинг 4.17

<?php

// Добавление новой категории

function Go_Add_Admin_Kategory($Id)

{

$objResponse = new xajaxResponse();

$objResponse->assign("flag_ajax","value",’yes’);

// подключение к базе данных

require_once("mybaza.php");

// проверка переданного значения

if(strlen(utftowin($Id[name]))==0)

{

$objResponse->alert("Пустое название !!!");

$objResponse->assign("flag_ajax","value",’no’); return $objResponse;

}

// добавление

$query1="INSERT INTO kategory SET id_parent=’".$Id[id_parent]."’, name=’".utftowin($Id[name])."’,nn=’0′,visible=’yes’ ";

$rez1=mysql_query($query1); if(!$rez1)

{

$objResponse->alert("Ошибка добавления !!!");

$objResponse->assign("flag_ajax","value",’no’); return $objResponse;

}

// заново переоткрыть родительскую категорию

$parent=$Id[id_parent];

$content=f_admin_open_kategory($parent);

$objResponse->assign("admin_kategory".$parent,"innerHTML",$content);

$content=f_string_kategory($parent);

$content="<b>Текущая категория :</b><br>".$content;

$content.="<br><a href=’javascript:void();’ onclick=’ xajax_Delete_Admin_Kategory(".$parent.");’>Удалить</a>";

$content.="<br><a href=’javascript:void();’ onclick=’ xajax_Rename_Admin_Kategory(".$parent.");’> Переименовать</a>";

$content.="<br><a href=’javascript:void();’ onclick=’ xajax_Add_Admin_Kategory(".$parent.");’>Добавить</a>";

$objResponse->assign("admin_path_kategory","innerHTML",$content);

$objResponse->script("document.getElementById (‘admin_path_kategory’).scrollIntoView();");

$objResponse->assign("flag_ajax","value",’no’); return $objResponse;

}

?>

Источник: Петин В. А., Сайт на AJAX под ключ. Готовое решение для интернет-магазина. — СПб.: БХВ-Петербург, 2011. — 432 с.: ил. + CD-ROM — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *