|
|
|
|
|
для: Dizels
(16.03.2010 в 17:10)
| | Проблемка все еще не решена :( | |
|
|
|
|
|
|
|
для: Dizels
(16.03.2010 в 16:36)
| | И последняя не решенная проблема:
пытаюсь записать в БД в рубрику значение Бренд\Original\ - т.е. именно со знаками \
Перед записью выводил данные - все передается, но в таблицу не записывается почему-то.
Чувствую, что это как раз из-за слешей - вопрос такой как все же это записать или же как записать только ту часть которая между слешами, т.е. в данном случае слово Original | |
|
|
|
|
|
|
|
для: Лена
(16.03.2010 в 16:14)
| | >И ошибка у вас -надо вставлять в базу прямо внутри цикла foreach.
Объясните, пожалуйста почему - попробовал вне цикла - вроде правильно работает.
Остальной код работает на УРА! Большое спасибо. | |
|
|
|
|
|
|
|
для: Dizels
(16.03.2010 в 13:40)
| | Я вам показала сам принцип, надо было дальше дописать.
У вас внутрь<preview> еще вложен элемент <pic>.
И ошибка у вас -надо вставлять в базу прямо внутри цикла foreach.
Еще одна ошибка - то, что увидела - в этой строке: $y = "INSERT INTO pen VALUES (NULL,
'$pic_preview'');"; Я про конец строки.
Значит,
<?php
foreach ($xml->item as $item){
$tov_pic = $item->tov_pic;
foreach ($tov_pic as $pic){
//здесь вытягиваете вложенные элементы
foreach ($pic as $value){
$ppp = $value->pic;
// Преобразуем кодировку
$tov_pic = iconv("UTF-8", "windows-1251", $tov_pic);
$ppp = iconv("UTF-8", "windows-1251", $ppp);
$y = "INSERT INTO pen VALUES (NULL,'$ppp');";
if(mysql_query($y)){
echo "Данные добавлены в БД<br>";
}
}
}
}
?>
|
Делала быстро, надо тестировать. Если так не получится, надо делать var_dump() на каждом шаге.
Наверное, Вам нужно было бы это не через simplexml_load_file делать... xml-файл можно парсить и по-другому... | |
|
|
|
|
|
|
|
для: Dizels
(16.03.2010 в 13:40)
| | Все еще нуждаюсь в Вашей помощи. | |
|
|
|
|
|
|
|
для: Лена
(16.03.2010 в 11:35)
| | Вроде бы вставил, но почему-то не записывает в БД значения, посмотрите, плз в чем ошибка:
<?php
// Соединяемся с базой данных
require_once("config.php");
// Указываем xml-файл
$filename = '1.xml';
// Парсим файл
$xml = simplexml_load_file($filename);
foreach ($xml->item as $item)
{
$tov_pic = $item->tov_pic;
foreach ( $tov_pic as $pic)
{
//здесь вытягиваете вложенные элементы
$pic_preview = $pic->preview;
}
// Преобразуем кодировку
$tov_pic = iconv("UTF-8", "windows-1251", $tov_pic);
$pic_preview = iconv("UTF-8", "windows-1251", $pic_preview);
$y = "INSERT INTO pen VALUES (NULL,
'$pic_preview'');";
if(mysql_query($y))
{
echo "Данные добавлены в БД<br>";
}
}
|
| |
|
|
|
|
|
|
|
для: Dizels
(16.03.2010 в 11:01)
| | Когда парсите, сразу делайте вложенные циклы, чтобы вытянуть вложенные элементы.
Код из вашего первого поста:
<?php
foreach ($xml->item as $item) {
//здесь парсите данные...
$tov_pic = $item->tov_pic;
foreach ( $tov_pic as $pic) {
//здесь вытягиваете вложенные элементы
$pic_preview = $pic->preview;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(15.03.2010 в 14:03)
| | Поробовал вытаскивать вот так:
$tov_pic_preview = $item->tov_pic->preview;
|
но чего-то не выходит :( | |
|
|
|
|
|
|
|
для: sim5
(15.03.2010 в 14:03)
| | >А сформировать таблицу при выводе на страницу нельзя разве, зачем ее в базу тулить?
Нужно именно в базу.
Итак, в базу вставил, но появились проблемы при получении данных из xml, подскажите, как исправить.
<tov_pic>
- <preview>
<pic>719510_a.jpg</pic>
</preview>
- <small>
<pic>719510_a.jpg</pic>
</small>
- <big>
<pic>719510_a.jpg</pic>
</big>
</tov_pic>
|
Как вытащить адреса картинок?
А то у меня пустое поле передает, оно впринципе и правильно, так как адреса записаны как вложенные элементы, но вот как их прочитать - не пойму, подскажите пожалуйста.
Как считываю данные показано в первом сообщении данной темы. | |
|
|
|
|
|
|
|
для: Dizels
(15.03.2010 в 10:44)
| | А сформировать таблицу при выводе на страницу нельзя разве, зачем ее в базу тулить?
Существует многострочная запись для оператора INSERT, почитайте, сразу поймете как вставить записи в базу. | |
|
|
|
|