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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Взаимодействие ПХП и ХМЛ 
:(
    Опции темы
ReactOS
Дата 3.12.2007, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Пответ всем, пишу в 4 часа уже которой нчи!

По след. проблемма

уарочеъ%


ридер_хмл.пхп

Код

<?php

class Book
    /*construction begin*/
    {
    var $name;
    var $pages;
    var $author;
    var $cover;
    
     function Book ($_name, $_pages, $_author, $_cover)
        {
        $this -> name = $_name;
        $this -> pages = $_pages;
        $this -> author = $_author;
        $this -> cover = $_cover;        
        }
    
     function printBook()
        {
        echo("<table border = 1>");
        echo("<tr><td>");
        echo("Name of Book</td></td>");
        echo($this -> name);
        echo("</td></tr>");
        echo("<tr><td>");
        echo("Number of Pages</td></td>");
        echo($this -> pages);
        echo("</td></tr>");
        echo("<tr><td>");
        echo("Author</td></td>");
        echo($this -> author);
        echo("</td></tr>");
        echo("<tr><td>");
        echo("Cover</td><td><img src = ");
        echo($this -> cover);
        echo("></td></tr>");
        echo("</table>");
        echo("<br>");
        }
    
    }
    /*construction end*/


/*function "readDatabase" begin*/
function readDatabase($filename)
    {
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);
    
        for($i = 0; $i < count($tags["BOOK"]); $i+=6)
        {
        $name = $values[$tags["BOOK"][$i]+1]["value"];
        $pages = $values[$tags["BOOK"][$i]+3]["value"];
        $author = $values[$tags["BOOK"][$i]+5]["value"];
        $cover = $values[$tags["BOOK"][$i]+7]["value"];
        $book = new Book($name, $pages, $author, $cover);
        $book -> printBook();
        }
    
    }
/*function "readDatabase" end*/

readDatabase("books.xml");

?>




букс.хмл

Код

<?xml version = "1.0" encoding = "UTF-8"?>
<books>
    <book>
        <name>Programming :: PHP</name>
        <pages>179</pages>
        <author>Author</author>
        <cover>Christine.jpg</cover>
    </book>

    <book>
        <name>Programming :: PHP</name>
        <pages>179</pages>
        <author>Author</author>
        <cover>Christine.jpg</cover>
    </book>

</books>


yt hf,jnftn!!!

ffffffff
PM   Вверх
N0dwis
Дата 3.12.2007, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



По моему ошибка здесь.
Код

        for($i = 0; $i < count($tags["BOOK"]); $i+=6)
        {
        $name = $values[$tags["BOOK"][$i]+1]["value"];
        $pages = $values[$tags["BOOK"][$i]+3]["value"];
        $author = $values[$tags["BOOK"][$i]+5]["value"];
        $cover = $values[$tags["BOOK"][$i]+7]["value"];
        $book = new Book($name, $pages, $author, $cover);
        $book -> printBook();
        }

 У тебя ключ в ассоциативном массиве $tags записан в верхнем регистре, а в .xml файле - в нижнем (это конечно правильно).
PM MAIL   Вверх
kasmanaft
Дата 3.12.2007, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Нда... Однако.

Чего здесь "yt hf,jnftn!!!" ? Можно и в 4 часа собраться и описать проблему по-человечески. Если помощь нужна.
PM MAIL   Вверх
ReactOS
Дата 5.12.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Дело в том, что не читается инфа из ХМЛ!  smile 

В табличку Инфа не хочет нормально вводиться! smile
PM   Вверх
kasmanaft
Дата 5.12.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 smile 



Замените выделенные теги открывающими:
        echo("<table border = 1>");
        echo("<tr><td>");
        echo("Name of Book</td></td>");
        echo($this -> name);
        echo("</td></tr>");
        echo("<tr><td>");
        echo("Number of Pages</td></td>");
        echo($this -> pages);
        echo("</td></tr>");
        echo("<tr><td>");
        echo("Author</td></td>");
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




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


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

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