Отправляет email-рассылки с помощью сервиса Sendsay

php & Excel

Привет!

Хотелось бы подробнее узнать о работе Php с экселевскими таблицами.
Короче есть таблица (формат csv, file=name.csv).
Нужно сделать так, чтобы первый столбец показывался только, и в
каждой его строчки были бы ссылки. После клика на ссылку юзер получает
все сведения о содержании данной строчки, но не в строчку, в с
столбик. То есть как в магазине.

Причем не хотелось бы чтобы сразу загружалась вся таблица - только
первый столбец. И далее тоже - только та строчка, которую выбрал юзер.

Я так понял, что надо создать файл name.php и в нем весь код писать?
Как открыть файл csv я тоже понял, а вот дальше проблема. Как показать
(и, желательно, загрузить) только первый столбец А1? Да еще и со
ссылками?

Ответить   Sat, 29 Jan 2005 00:17:56 +0300 (#306700)

 

Ответы:

Привет, Александр!

Файл csv - это обычный текстовый файл, в котором все строки разделены
переводами строк, а столбцы - табуляциями. Поэтому просто читаешь файл
по строчкам, выделяешь из каждой текст до первой табуляции и выводишь.
Получишь только первый столбец. А все будешь выводить ссылками на
другой файл, в котором точно так же выделишь ту строку, которую тебе
надо и выведешь ее в том формате, в котором тебе надо...

Пашка

29 января 2005 г., 0:17:56, Alexander Polenov <alex_polen***@m*****.ru> wrote:





библиотекa сайтостроительства http://www.i2r.ru/static/244/

Ответить   Sun, 30 Jan 2005 22:46:07 +0300 (#307529)

 

Привет Пашка!
Вы писали 30.01.2005

а по времени это займет больше, чем просто загрузка уже готового
списка, без Php? То есть так он грузит только список, а с php он
обрабатывает таблицу и уже оттуда генерирует список?

Ответить   Mon, 31 Jan 2005 03:18:47 +0300 (#307594)

 

Здравствуй, Александр!

По времени это будет совершенно незаметно для человеческого глаза.
Единственно надо учесть: если у тебя список большой, общий размер
которого исчисляется сотнями килобайт, то в HTML нужно его сделать
так, чтобы браузер мог отображать его постепенно по ходу загрузки.
Иначе очень неприятно будет ждать, пока он весь подгрузится....

Пашка

31 января 2005 г., 3:18:47, Alexander Polenov <alex_polen***@m*****.ru> wrote:





библиотекa сайтостроительства http://www.i2r.ru/static/244/

Ответить   Mon, 31 Jan 2005 11:31:32 +0300 (#307708)

 

On Sat, 29 Jan 2005 00:17:56 +0300, Alexander Polenov
<alex_polen***@m*****.ru> wrote:

Привет, Александр!
Вот тебе небольшой пример.
Он полностью рабочий (сам проверял, если что пиши):

<?php
if (!isset($name)) {
$f = @fopen ("file.csv", "r") or die ("Ошибка! Не могу открыть файл!");
echo "<table>\n";
# читаем построчно, максимальная длина строки 1024
# использум разделитель ;
for ($i = 0; $array = fgetcsv ($f, 1024, ";"); $i++) {
echo "<tr align = center>";
$j = count ($array);
if ($j == 1 && $array[0] "") continue;
echo "<td><a href=name.php?name=".$array[0].">$array[0]</a></td>";
# выводим только первый столбец
echo "</tr>\n";
}
echo "</table>";
fclose($f);
} else {
# вновь читаем файл
$f = @fopen ("file.csv", "r") or die ("Ошибка! Не могу открыть файл!");
echo "<table>\n";
for ($i = 0; $array = fgetcsv ($f, 1024, ";"); $i++) {
echo "<tr align = center>";
$j = count ($array);
if ($j == 1 && $array[0] "") continue;
if ($name == $array[0]) for ($k = 0; $k < $j; $k++) echo
"<td>$array[$k] </td>";
echo "</tr>\n";
}
echo "</table>";
fclose($f);

}

Ответить   Mon, 31 Jan 2005 22:55:27 +0300 (#308096)