|
|
|
| Вот небольшой кусок 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 в 16:36)
| | Очень нужна Ваша помощь! | |
|
|
|
|
|
|
|
для: Dizels
(24.03.2010 в 16:36)
| | >1) Для 1 товара может быть несколько рубрик - как это записывать в таблицу с БД?
Вы ни разу в БД не хранили что-то такое , где чему-то одному одному соответствовали какие-то многие другие?
Не верю.
>2) Сама рубрика может называться как на русском языке, так и на английском - что в последствии делает проблематичным передачу значения данной рубрики.
Значением, которое передают для обозначения строки в БД, обычно является первичный ключ этой строки. | |
|
|
|
|
|
|
|
для: 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 в 11:58)
| | Очень нужна помощь! | |
|
|
|
|
|
|
|
для: Dizels
(25.03.2010 в 15:48)
| | Помощь все еще требуется. | |
|
|
|
|
|
|
|
для: Dizels
(26.03.2010 в 15:17)
| | ау? | |
|
|
|
|
|
|
|
для: Dizels
(27.03.2010 в 17:23)
| | ребята, помогите! | |
|
|
|
|
|
|
|
для: Dizels
(29.03.2010 в 10:39)
| | Trianon, помогите пожалуйста. | |
|
|
|
|
|
|
|
для: Dizels
(29.03.2010 в 16:41)
| | Собственно на второй вопрос я сам ответил -0 остался вопрос:
>1) Для 1 товара может быть несколько рубрик - как это записывать в таблицу с БД? | |
|
|
|
|
|
|
|
для: Dizels
(24.03.2010 в 16:36)
| | Многие -ко- многим
utf 8 | |
|
|
|
|
|
|
|
для: oliss
(31.03.2010 в 23:27)
| | спасибо, реалиовал | |
|
|
|