0

テーブル内に結果テーブルを作成する必要があります。

<?php
$string = '<?xml version="1.0" encoding="utf-8"?>
<books>
<book isbn="978-1594489501">
<title>book Title 1</title>
<author>Author 1</author>
<publisher>publisher 1</publisher>
<price>price 1</price>
<genre>English 1</genre>
</book>
<book isbn="978-1594489502">
<title>book Title 2</title>
<author>Author 2</author>
<publisher>publisher 2</publisher>
<price>price 2</price>
<genre>English 2</genre>
</book>
</books>';
$xml = new SimpleXMLElement($string);
$string = 'book';
$result = $xml->xpath("//book[contains(translate(title,
'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), '".strtoupper($string)."')]"); 
foreach($result as $one){
echo "<table border='1' width='500'>\n";
echo "<tr><th>Title</th><td>$one->title</td></tr>\n";
echo "<tr><th>Author</th><td>$one->author</td></tr>\n";
echo "<tr><th>Publisher</th><td>$one->publisher</td></tr>\n";
echo "<tr><th>Price</th><td>$one->price</td></tr>\n";
echo "<tr><th>Genre</th><td>$one->genre</td></tr>\n";
echo "</table>\n";  
}
?>

HTMLコードでこのように

結果1 タイトル: タイトル 1 著者: 著者 1 パブリッシュ: パブリッシュ 1 価格: 価格 1 ジャンル:英語1 結果2 タイトル: タイトル 2 著者: 著者 2 パブリッシュ: パブリッシュ 2 価格: 価格 2 ジャンル:英語2 結果 3 タイトル: タイトル 3 著者: 著者 3 パブリッシュ: パブリッシュ 3 価格: 価格 3 ジャンル:英語3 結果4 タイトル: タイトル 4 作者:作者4 パブリッシュ: パブリッシュ 4 価格: 価格 4 ジャンル:英語4 結果 5 タイトル: タイトル 5 作者: 作者5 パブリッシュ: パブリッシュ 5 価格: 価格 5 ジャンル:英語5 結果 6 タイトル: タイトル 6 作者: 作者6 パブリッシュ: パブリッシュ 6 価格: 価格 6 ジャンル:英語6

4

3 に答える 3

0

以下のようなものを使用する必要があります。

echo '<table border="1" bordercolor="FFCC00" style="background-color:FFFFCC" width="600" cellpadding="3" cellspacing="3">';
echo '<tr>';
$i = 1;
foreach($result as $one){
    echo '<td>';
    echo '<table>';
    echo '<tr><th>Result </th><td>'.$i.'</td></tr>';
    echo '<tr><th>Title: </th><td>'.$i.'</td></tr>';
    echo '<tr><th>Author: </th><td>'.$i.'</td></tr>';
    echo '<tr><th>Publish: </th><td>'.$i.'</td></tr>';
    echo '<tr><th>Price: </th><td>'.$i.'</td></tr>';
    echo '<tr><th>Genre: </th><td>'.$i.'</td></tr>';
    echo '</table>';
    echo '</td>';
    if ($i%3==0) echo '</tr><tr>';
}
echo '</table>';
于 2012-09-25T08:48:32.247 に答える
0

私は常に、単純な XML から PHP 配列への変換に xml2array を使用してきました。

http://www.bin-co.com/php/scripts/xml2array/

オプションが豊富でとても使いやすいです。他のライブラリに対してどれほど効率的かはわかりませんが、小さなプロジェクトでは常にうまく機能しています。

于 2012-09-23T18:57:27.087 に答える
0

このようなもの?

    echo "<table border='1' width='500'>\n";

    foreach($result as $one){

        echo "
        <tr>
            <th>Title</th>
            <th>Author</th>
            <th>Publisher</th>
            <th>Price</th>
            <th>Genre</th>
        </tr>";

        echo "<tr>";
        echo "<td>$one->title</td>";
        echo "<td>$one->author</td>";
        echo "<td>$one->publisher</td>";
        echo "<td>$one->price</td>";
        echo "<td>$one->genre</td>";
        echo "</tr>";

    }

    echo "</table>\n";
于 2012-09-23T19:02:04.953 に答える