Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: запись данных в массив
 
 автор: Dizels   (31.03.2010 в 18:22)   письмо автору
 
 

есть xml файл в нем хранятся данные о товарах, каждому товару может принадлежать несколько категорий, все эти категории нужно записать в БД:
/ Указываем xml-файл
$filename = 'name.xml';  
// Парсим файл 
$xml = simplexml_load_file($filename);     
foreach ($xml->item as $item) 
{
    $tov_id = $item->tov_id;
    $tov_name = $item->tov_name;
    $tov_rubr = $item->tov_rubr;
        foreach ($tov_rubr as $rubr)
        {
            $rrr = $tov_rubr->rubr;
        }         
    $tov_color = $item->tov_color;
}

Я так понимаю, что в переменной $rrr должен содержаться массив данных (т.е. если у товара не одна категория), но почему-то записsdftncz только первая категория.
Вот так происходит запись:
// Преобразуем кодировку
$tov_id = iconv("UTF-8", "windows-1251", $tov_id);
$tov_name = iconv("UTF-8", "windows-1251", $tov_name);
$rrr = iconv("UTF-8", "windows-1251", $rrr);
$tov_color = iconv("UTF-8", "windows-1251", $tov_color);

$chast = explode("\\",$rrr);
list($ukr,$eng) = $chast;

$y = "INSERT INTO penoteka_tovar VALUES (NULL,
                                '$tov_id',
                                '$tov_name',
                                '$eng',
                                '$tov_color')";        


Подскажите, как правильно записать в базу несколько категорий?

  Ответить  
 
 автор: sim5   (31.03.2010 в 18:30)   письмо автору
 
   для: Dizels   (31.03.2010 в 18:22)
 

Вам нужно в цикле разбора файла создать запись для многострочного оператора INSERT, а потом сделать запрос.

  Ответить  
 
 автор: Dizels   (31.03.2010 в 20:50)   письмо автору
 
   для: sim5   (31.03.2010 в 18:30)
 

А можно на примере?

  Ответить  
 
 автор: sim5   (01.04.2010 в 07:10)   письмо автору
 
   для: Dizels   (31.03.2010 в 20:50)
 

В поля var1, var2, var3 в таблице моногострочным оператором INSERT, вставляем:
VALUES (val1, val2, val3), (val1, val2, val3), (val1, val2, val3);
Вот в цикле и формируйте эту строку значений для запроса.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования