|
|
|
| Доброе время суток.
Возникла проблема: есть excel файл, в котором содержится каталог продукции, и мне нужно достать из него цены по каждому товару по названию. То есть скрипт, который достает цену товара из excel(и помещает его в какую то переменную или массив), по названию товара.
Это возможно? | |
|
|
|
|
|
|
|
для: necroms
(21.12.2008 в 02:00)
| | сохрани как csv
например id;товар;описание;цена
<?
$массив = file("файл");
foreach($массив as $line)
{
list($id,$product,$descr,$cost) = explode(";",$line);
//теперь данные в этих переменных
тут делать что хочешь с каждым товаром из файла
}
?>
|
| |
|
|
|
|
|
|
|
для: devzorg
(21.12.2008 в 10:22)
| | главное, чтоб в описании не было точек с запятой. лучше взять другой разделитель - | или \tab | |
|
|
|
|
|
|
|
для: elenaki
(22.12.2008 в 10:49)
| | лучше, понятное дело, применить fgetcsv() - тогда и точки с запятой не помеха, и кавычки адекватно прочитаются.
А вообще же идея применить другой разделитель всегда разбивается о мысль "а что будет, когда этот разделитель попадется в тексте?". | |
|
|
|
|
|
|
|
для: devzorg
(21.12.2008 в 10:22)
| | Спасибо за ответ, но мне нужно немножко другое. Нужен именно поиск по Excel файлу, например я в php ввожу название товара, и если оно совпадает где-то в excel, то выводится определенный столбец из данной строки. Это можно как-то сделать? | |
|
|
|
|
|
|
|
для: necroms
(22.12.2008 в 12:28)
| | Trianon ведь сказал выше - использовать fgetcsv(). Например, ваш Excel файл, это сохраненный CSV-файл (имя test.csv):
"type1, ""as""";12;35;23
"type2 ""as""";13;234;235
type3;14;122;323
|
Заметьте, как в нем закрываются имена имеющие кавычки. Теперь:
<?
$mass = array();
$fp = fopen ("test.csv","r");
//загружаем в массив
while ($data = fgetcsv ($fp, 1000, ";")) $mass[] = $data;
fclose ($fp);
//ищем нужное в массиве
$key = array_search("type1, \"as\"", $mass);
//если будет найдено, то получете массив нужного по возвращенному ключу
print_r($mass[$key]);
?>
|
| |
|
|
|
|