Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> парсинг csv нужна помощь, помогите решить проблемку 
:(
    Опции темы
wofs
Дата 4.8.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.5.2007

Репутация: нет
Всего: нет



есть файл csv (в приложении)
есть скрипт парсинга
Код

<?
$data = File("price.csv");
echo "<table width=100% border=1 cellpadding=0 cellspacing=0 bordercolor=#cccccc><tr>";
$dat_arr = explode("'", $data[0]);
for ($p=0;$p<count($dat_arr);$p++) {
echo "<td><right>$dat_arr[$p]";
}
echo "</tr>";
for ($i=1;$i<count($data);$i++) {
$data_array = explode("'", $data[$i]);
echo "<tr>";
    for ($f=0;$f<count($data_array);$f++) {
    echo "<td><right>$data_array[$f]";
    
    }

echo "</tr>";
}

echo "</table>";
?>


в файле 2 типа разделителей (их изменить нельзя)
первый '''''
и второй '
требуется что бы когда натыкались на первый разделитель, рисовали обединенную ячейку на всю строку, когда второй, то так же как сейчас рисуется.
например есть строка:
Код

LOGIC струйные картриджи'''''

и есть строка
Код

2000757000009'LOGIC   BCI-24Bk Black  S200/300/i250/350/455/Pixima1000/1500/2000'шт.'3'60,00'55,00

так вот, требуется что бы рисовалось так:
Код

----------------------------------------------------------------------------------------------------------------------------------------------------
|  LOGIC струйные картриджи                                                                                                                                        |
----------------------------------------------------------------------------------------------------------------------------------------------------
| 2000757000009 | LOGIC   BCI-24Bk Black  S200/300/i250/350/455/Pixima1000/1500/2000 | шт. | 3 | 60,00 | 55,00 |
----------------------------------------------------------------------------------------------------------------------------------------------------


Это сообщение отредактировал(а) wofs - 4.8.2008, 10:40

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  price.zip 4,40 Kb
PM MAIL   Вверх
skyboy
Дата 4.8.2008, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



пример с двойной кавычкой приведи. чтоб понятно было без запуска скрипта.
PM MAIL   Вверх
wofs
Дата 4.8.2008, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.5.2007

Репутация: нет
Всего: нет



Цитата(skyboy @ 4.8.2008,  11:10)
пример с двойной кавычкой приведи. чтоб понятно было без запуска скрипта.

вот как щас работает
http://ink-world.ru/price/price.php
PM MAIL   Вверх
Fortop
Дата 4.8.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Кто тебе сказал, что это
Код

2000757000009'LOGIC   BCI-24Bk Black  S200/300/i250/350/455/Pixima1000/1500/2000'шт.'3'60,00'55,00

CSV?

Рекомендую
fputcsv()
fgetcsv()

Добавлено через 1 минуту и 24 секунды
Вот пример строки
Код

FE0000070108,FX,RC000002,sal101,1,"2008-08-02 19:43:00",FPGIMPORTS,PA,"sal101  Airgold sal101 2219 AIRGOLD  ",,,,



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
wofs
Дата 4.8.2008, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.5.2007

Репутация: нет
Всего: нет



Цитата(Fortop @  4.8.2008,  13:14 Найти цитируемый пост)
Кто тебе сказал, что это CSV?

выгрузил из ОО, без второго разделителя))

PM MAIL   Вверх
solenko
Дата 4.8.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



wofs, у тебя один тип разделителя -- одинарная кавычка. Просто в строке с "LOGIC струйные картриджи" заполнен только один столбец.
Можеш просто проверять $data_arr == '' и, если да, то группировать ячейки.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0689 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.