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

Форум PHP

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

 

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

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

тема: CSV
 
 автор: Ильдар   (08.11.2007 в 10:39)   письмо автору
 
 

Иммется csv файл (СОДЕРЖАНИЕ):
Кирова ул.; д. 126;4 570004501;Хасанов Р.З.;165.26;10.09.2007 // это одна из строк


имеется код
<?php
$fname = 'file.csv';
$fd = file($fname);
foreach($fd as $str)
{
$tmp=explode(';',$str);
print '
<tr>
<td>'.$tmp[0].'</td>
<td>'.$tmp[1].'</td>
<td>'.$tmp[2].'</td>
<td>'.$tmp[3].'</td>
<td>'.$tmp[4].'</td>
</tr>';
}

?>

выводит уже раздельно в таблице (пусть символ "|" это типа рамка таблицы, чтоб было понятно):
Кирова ул. д. 126 | 4 570004501 | Хасанов Р.З. | 165.26 | 10.09.2007

Вот:
Так же здесь имеются данные "4 570004501" - нужно число 4 которая первая, нужно разделить от остальных чисел, после нее стоит пробел и эту цифру нужно вывести в отельную ячейку, т.е. должно быть так:
Кирова ул. д. 126 | 4 | 570004501 | Хасанов Р.З. | 165.26 | 10.09.2007

   
 
 автор: Гость   (08.11.2007 в 10:47)   письмо автору
 
   для: Ильдар   (08.11.2007 в 10:39)
 


<?
<td>'.substr($tmp[2], 0, 1).'</td>
<
td>'.substr($tmp[2], 1,  ).'</td>


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

   
 
 автор: Poison   (08.11.2007 в 10:57)   письмо автору
 
   для: Ильдар   (08.11.2007 в 10:39)
 


<?php
$fname 
'file.csv';
$fd file($fname); 
foreach(
$fd as $str)
{
$tmp=explode(';',$str);
$tmp[2] = explode(" "$tmp[2]); 
print 
'
<tr>
<td>'
.$tmp[0].'</td>
<td>'
.$tmp[1].'</td>
<td>'
.$tmp[2][0].'</td>
<td>'
.$tmp[2][1].'</td>
<td>'
.$tmp[3].'</td>
<td>'
.$tmp[4].'</td>
</tr>'
;
}

   
 
 автор: Ильдар   (08.11.2007 в 11:15)   письмо автору
 
   для: Poison   (08.11.2007 в 10:57)
 

Блин, выводит почему то пустую сторчку:
Кирова ул. д. 126 | 4 | | Хасанов Р.З. | 165.26 | 10.09.2007

ошибка: Undefined offset: 1 in z:\home\localhost\www\file.php on line 21

   
 
 автор: Ильдар   (08.11.2007 в 11:24)   письмо автору
 
   для: Ильдар   (08.11.2007 в 11:15)
 

может изза того что в файле имеются строчки:
Богдана Хмельницкого ул.д. 135;Итого по дому; ;1296.33; ;

   
 
 автор: KPETuH   (08.11.2007 в 12:08)   письмо автору
 
   для: Ильдар   (08.11.2007 в 11:24)
 

Попробуйте так.


<?php
$fp
=fopen('file.csv','r');
while (
$data=fgetcsv($fp,1024,';'))
{
    
$i=0;
    foreach (
$data as $adres)
    {
        if (
$i==2)
        {
            
$cifir=explode(" ",$adres);
            echo 
$cifir[0]." | ".$cifir[1]." | ";
        }
        else echo 
$adres." | ";
        
$i++;
    }
}
?>

   
 
 автор: Ильдар   (08.11.2007 в 12:12)   письмо автору
 
   для: KPETuH   (08.11.2007 в 12:08)
 

спасибо всем! я справился!

   
Rambler's Top100
вверх

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