PHPでページごとに3つのXMLデータを読み取るにはどうすればよいですか?
次のコードは、「9.xml」のすべての shortdesc フィールドを読み出すことができます:
--------------------------- -- ---------------
$xml_array=simplexml_load_file('9.xml'); //XML のデータを配列オブジェクトに読み込みますin
foreach($xml_array as $tmp){
echo $tmp->shortdesc."
";
}
?>
---------------------------------------
理由データ量が非常に多いので、「次へ」ボタンをクリックすると、すべてのデータが表示されるまで次の 3 つのデータが表示されるようにしたいのです。再度「次へ」ボタンをクリックしてもページは変わりません。これを達成する方法を教えてください。コードもあったほうが良いです、ありがとうございます。
-----解決策---------
これは最初に出力したものです:
foreach($xml_array as $tmp){
echo $tmp->shortdesc."
";
}
次のようにする必要があります。次のように出力します Line
$page = ($_GET['page'] - 1) * 3;
for($i=$page; $i echo $xml [$i]->shortdesc."
";
}
------解決策----------------------
ボスのコードは十分に明確です
//配列を取得します
$xml_array=simplexml_load_file('9.xml');
// どの項目から開始します。ページングを要求しませんでしたか? ページングにはデータの開始位置とオフセットが必要です。
// すると、このデータの開始位置は $page になります。 ページ 2 が必要な場合は、パラメータ $_GET['page'] === 2
// (2-1)*3 (3) を渡します。これは配列のキー値でデータを取得するもので、配列のキー値は0から始まります。 0,1,2 は最初のページ、3,4,5 は 2 番目のページです
$page = ($_GET['page'] - 1) * 3;
// 3 回ループして計算します毎回 $i の値を見てください。それぞれ 3、4、5 です。次に、上記のキー値 3、4、5 を持つデータです
for($i=$page; $i<$page+3; $i++) {
echo $xml[$i] - >shortdesc."
";
}
// 次のページのリンクに渡されるパラメータは $_GET['page'] + 1 です
------解決策------------------
それはあなたのせいです。最初から正しい情報を提供しなかったのです
あなたの
foreach($xml_array as $tmp){
echo $tmp->shortdesc."
";
}
ドキュメントの内容を出力できません
これは、
foreach($xml_array->news->new as $tmp){
echo $tmp->gt; の方法です。 ."
";
}
$xml_array->news->new は配列であるため、
$xml = $xml_array->news-> ;
$page = min(3, count($xml)-3);
for($i=$page; $i echo $xml [ $i]->shortdesc."
";
}
が確立されました