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

Форум PHP

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

 

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

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

тема: Вывод по рубрикам из xml файла
 
 автор: Dizels   (24.03.2010 в 16:36)   письмо автору
 
 

Вот небольшой кусок xml файла:
- <item tov_id="ПП-50">
  <tov_id rus="Артикул">ПП-50</tov_id> 
  <tov_name rus="Наименование">Полиэтиленовые пакеты 36х40+5 с лого "US Basic"</tov_name> 
- <tov_rubr>
  <rubr>Текстиль 2009\Бейсболки и шапки\</rubr> 
  <rubr>Текстиль 2009\Брюки и шорты\</rubr> 
  <rubr>Текстиль 2009\Ветровки и куртки\</rubr> 
  <rubr>Текстиль 2009\Джемпера\</rubr> 
  <rubr>Текстиль 2009\Жилеты\</rubr> 
  <rubr>Текстиль 2009\Изделия из флиса\</rubr> 
  <rubr>Текстиль 2009\Поло\</rubr> 
  <rubr>Текстиль 2009\Рубашки\</rubr> 
  <rubr>Текстиль 2009\Рубашки регби\</rubr> 
  <rubr>Текстиль 2009\Спортивные костюмы\</rubr> 
  <rubr>Текстиль 2009\Футболки\</rubr> 
  </tov_rubr>
  <tov_color rus="Цвет" /> 
  <tov_upak_vid rus="Вид упаковки" /> 
  <tov_vesed rus="Вес единицы (кг)">0</tov_vesed> 
  <tov_upak_kol rus="Количество в упаковке">0</tov_upak_kol> 
  <tov_upak_razm rus="Размер упаковки" /> 
  <tov_vid_nanes rus="Вид нанесения" /> 
  <tov_opis rus="Описание" /> 
  <tov_price rus="Цена">3.8</tov_price> 

Данный xml файл я спарсил и записал его в таблицу БД (так мне удобнее работать + скрипт с БД шустрее работает в дальнейшем).
Но, возникла проблема:
необходимо выводить все доступные рубрики и при выборе какой-либо одной рубрики выводить все имеющиеся в ней записи. Вот на этом я и застопорился.
Проблема вот в чем:
1) Для 1 товара может быть несколько рубрик - как это записывать в таблицу с БД?
2) Сама рубрика может называться как на русском языке, так и на английском - что в последствии делает проблематичным передачу значения данной рубрики.

Собственно прошу помочь решить проблему.

P.S. когда реализовывал подобное, но с другим xml файлом то делал так:
вот структура xml файла:
<item tov_id="719510">
  <tov_id rus="Артикул">719510</tov_id> 
  <tov_name rus="Наименование">Брелок-ручка шариковая серебристый</tov_name> 
- <tov_rubr>
  <rubr>Пенотека\Original\</rubr> 
  </tov_rubr>
  <tov_color rus="Цвет">серебристый</tov_color> 
  <tov_upak_vid rus="Вид упаковки" /> 
  <tov_vesed rus="Вес единицы (кг)">0</tov_vesed> 
  <tov_upak_kol rus="Количество в упаковке">0</tov_upak_kol> 
  <tov_upak_razm rus="Размер упаковки" /> 
  <tov_vid_nanes rus="Вид нанесения">лазерная гравировка</tov_vid_nanes> 
  <tov_opis rus="Описание">Металлическая ручка-брелок на карабине очень удобна и всегда под рукой.</tov_opis> 

Брал из рубрики только название на английском и его вставлял в урл при передачи значения рубрики, но для вышеуказанного xml файла это не подходит :( так как:
1) товары находятся в нескольких рубриках одновременно
2) название рубрик на русском языке.

  Ответить  
 
 автор: Dizels   (24.03.2010 в 19:24)   письмо автору
 
   для: Dizels   (24.03.2010 в 16:36)
 

Очень нужна Ваша помощь!

  Ответить  
 
 автор: Trianon   (24.03.2010 в 21:00)   письмо автору
 
   для: Dizels   (24.03.2010 в 16:36)
 

>1) Для 1 товара может быть несколько рубрик - как это записывать в таблицу с БД?

Вы ни разу в БД не хранили что-то такое , где чему-то одному одному соответствовали какие-то многие другие?
Не верю.


>2) Сама рубрика может называться как на русском языке, так и на английском - что в последствии делает проблематичным передачу значения данной рубрики.

Значением, которое передают для обозначения строки в БД, обычно является первичный ключ этой строки.

  Ответить  
 
 автор: Dizels   (25.03.2010 в 11:58)   письмо автору
 
   для: Trianon   (24.03.2010 в 21:00)
 

Итак, решил начать со второго пункта Ваших подсказок.
Для упрощения прошу на данный момент считать, что товар может находиться только в 1 рубрике (название рубрики может писаться как на русском, так и на английском):

<?php
// Соединяемся с базой данных
require_once("../config.php");
// Запрашиваем рубрики
$query "SELECT DISTINCT rub FROM pen"
if(
$p mysql_query($query))
    {            
        
// Так как запрос возвращает несколько строк, применяем цикл
        
while($f mysql_fetch_array($p))
            {
                
$cat_nam $f['rub'];
                
// Проверяем, если такая рубрика уже есть - пропускаем
                
$t "SELECT * FROM pen_cat WHERE name LIKE '$cat_nam'";
                
$a mysql_query($t); 
                if(!
$a) echo mysql_error();
                if(
mysql_num_rows($a)>0)
                {
                    
                } 
                else
                {
                    
// Добавляем рубрики в БД
                    
$ty "INSERT INTO pen_cat VALUES (NULL, '$cat_nam')";                                
                    if(
mysql_query($ty))
                    {
                        echo 
"Рубрики добавлены в БД!!!<br>";
                    }
                }
            }
    } else { echo 
"Проблема с парсингом рубрик"; }
    echo 
"Готово.";    
?>

Таким образом создаю таблицу в которой 2 столбца: id и name
id - уникальный идентификатор рубрики
name - имя рубрики

Теперь я так понимаю, нужно в имеющейся таблице товаров создать еще один столбец, под названием id_cat - в котором хранить уникальный идентификатор рубрики к которой принадлежит запись, верно?
Но вот как это реализовать? Прошу натолкнуть на путь истинный.

  Ответить  
 
 автор: Dizels   (25.03.2010 в 15:48)   письмо автору
 
   для: Dizels   (25.03.2010 в 11:58)
 

Очень нужна помощь!

  Ответить  
 
 автор: Dizels   (26.03.2010 в 15:17)   письмо автору
 
   для: Dizels   (25.03.2010 в 15:48)
 

Помощь все еще требуется.

  Ответить  
 
 автор: Dizels   (27.03.2010 в 17:23)   письмо автору
 
   для: Dizels   (26.03.2010 в 15:17)
 

ау?

  Ответить  
 
 автор: Dizels   (29.03.2010 в 10:39)   письмо автору
 
   для: Dizels   (27.03.2010 в 17:23)
 

ребята, помогите!

  Ответить  
 
 автор: Dizels   (29.03.2010 в 16:41)   письмо автору
 
   для: Dizels   (29.03.2010 в 10:39)
 

Trianon, помогите пожалуйста.

  Ответить  
 
 автор: Dizels   (31.03.2010 в 23:12)   письмо автору
 
   для: Dizels   (29.03.2010 в 16:41)
 

Собственно на второй вопрос я сам ответил -0 остался вопрос:

>1) Для 1 товара может быть несколько рубрик - как это записывать в таблицу с БД?

  Ответить  
 
 автор: oliss   (31.03.2010 в 23:27)   письмо автору
 
   для: Dizels   (24.03.2010 в 16:36)
 

Многие -ко- многим
utf 8

  Ответить  
 
 автор: Dizels   (31.03.2010 в 23:46)   письмо автору
 
   для: oliss   (31.03.2010 в 23:27)
 

спасибо, реалиовал

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

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