Forum Webscript.Ru

Программирование => PHP => Тема начата: moroz68 от 17 Марта 2006, 11:53:27

Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: moroz68 от 17 Марта 2006, 11:53:27
Как средствами PHP подсчитать количество записей в XML по определенному значению т.е.

// Создать массив из XML
$books = readBookInfo();
// Общее количество записей
$total = sizeof($books)

Как найти количество книг по полю с определенным значением.

XML


Beginning Linux Programming Second Edition

Neil Matthew

1-861002-97-1
39.99
&book_1861002971;

...   .....
...   .....
..    .....
Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: Greg от 17 Марта 2006, 12:13:33
для работы с xml есть специальные функции (смотри ман) содержимое xml запихивается в массив, а там уже считаешь функциями для массивов
Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: moroz68 от 17 Марта 2006, 13:54:55
Вот нашел функцию для массива, но что-то не работает, пишит 0 найдено
count(array_keys($books, \'Neil Matthew\'));
count(array_keys($books[author], \'Neil Matthew\'));

XML



Beginning Linux Programming Second Edition

Neil Matthew

1-861002-97-1
39.99
&book_1861002971;

... .....
... .....
.. .....
Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: Greg от 17 Марта 2006, 14:16:47
moroz68
ты сначала должен принять содежимое хмл-фала, а затем специальными инструментами запихать в массив и потом уже лопатить массив...читай тут (http://webmastak.com/tech/103/)
Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: Greg от 17 Марта 2006, 14:17:30
и попробуй для начала разобраться в проблеме сам, а не гадать на кофейной гуще и бесполезно постить на форуме
Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: moroz68 от 17 Марта 2006, 15:19:10
Greg - какого черта ты лезешь, это ты плодишь чушь!!! Три сообщения от тебя, с нулевой информацией и битой ссылкой, остынь!

Массив у меня есть из XML

function readBookInfo() {
global $file, $books;
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser,"characterData");
xml_set_external_entity_ref_handler($xml_parser, "externalEntityHandler");
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
if (!($fp = fopen($file, "r"))) {
die("Could not open $file for reading") ;
}
while (($data = fread($fp, 4096))) {
if (!xml_parse($xml_parser, $data, feof($fp))){
die(sprintf("XML error at line %d column %d",
xml_get_current_line_number($xml_parser),
xml_get_current_column_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
return $books;
}

$books = readBookInfo();
Название: Как средствами PHP подсчитать количество записей в XML
Отправлено: for_i_0 от 17 Марта 2006, 16:42:12
Цитировать
moroz68:
Массив у меня есть из XML

сомневаюсь, можно взглянуть на содержимое массива ?