![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
PHPでxmlのデータを条件を絞って表示したいと思っています。
xmlデータをPHPで作成し、結果表示するというのはサンプルを参考に作成できたのですが、条件の絞り方がわからず困っています。
<?php
$xmlstr = <<<XML
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<item>
<name>牛肉</name>
<value>ヒレ</value>
<price>500</price>
</item>
<item>
<name>豚肉</name>
<value>ヒレ</value>
<price>400</price>
</item>
<item>
<name>豚肉</name>
<value>もも</value>
<price>300</price>
</item>
<item>
<name>鶏肉</name>
<value>もも</value>
<price>200</price>
</item>
・・・・・・
・・・
XML;
?>
というデータを
例えば<value>が(もも)に当てはまるものだけや、
<price>が400以下のものなど、条件を絞って表示したいと思っています。できれば、プルダウンのセレクトメニューを使用して条件をしぼりたいと思っています。
どうすればいいかまったくわかりません。
サンプルを見ながら手を加えるぐらいしかできないレベルです。
よろしければ教えてください。
また、作成したプログラムは携帯でも表示できますでしょうか?
セレクトメニューが携帯では表示できないことはしっていますので、チェックボタンなどを使って表示出来ればいいなと思っています。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#!C:/Environment/PHP/v5.2.4/php-cgi.exe
<?php
/*
Apache + PHP を使うのが初めてだったりして
インストールに一時間半くらい手間取った(汗
*/
/* 動かないと思ったら,そもそも XMLが間違ってんじゃねーか!(怒) */
$xmlstr = <<< XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<items>
<item>
<name>牛肉</name>
<value>ヒレ</value>
<price>500</price>
</item>
<item>
<name>豚肉</name>
<value>ヒレ</value>
<price>400</price>
</item>
<item>
<name>豚肉</name>
<value>もも</value>
<price>300</price>
</item>
<item>
<name>鶏肉</name>
<value>もも</value>
<price>200</price>
</item>
</items>
XML;
$doc = new DOMDocument();
$doc -> loadXML($xmlstr);
$xpath = new DOMXPath($doc);
$query = "/items/item/name[text() = '豚肉']"; /* 折角だから,XPathを利用してみました。name要素の子がテキストノードで,その内容が「豚肉」であるノードのリスト */
$NodeList = $xpath->evaluate($query,$doc);
header("Content-Type:text/plain;charset=UTF-8\n\n");
for($i = 0;$i < $NodeList->length ;$i++){ /* foreachとか使えそうだと思うけど,よくわからなかった(汗 */
print $NodeList->item($i)->textContent . "\n" ;
};
/* 個人的にはXSLTを使うほうが好きになれそう。でも調べる気力が湧かない */
?>
No.1
- 回答日時:
DOMを使いましょう。
http://jp2.php.net/manual/ja/ref.dom.php
サンプルはここで聞くよりwebで漁ったほうが確実かつ豊富です。
行き詰ったら再質問するとよいでしょう。
>また、作成したプログラムは携帯でも表示できますでしょうか?
outputが携帯での表示に即したものであれば大丈夫です。
ただし、各社、各端末ごとに仕様がまったく違うのはご存知だと思います。
user-agentでキチンと振り分けさえすれば問題がないかと思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP php ログイン 1 2022/11/01 00:24
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP 記述のおかしいところを教えて下さい。 1 2023/02/03 11:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッションにIDを振って値を代入
-
PHPで画像の渡しが上手く行きま...
-
input nameで日本語を使うと
-
ラジオボタンをsessionで使いたい
-
HTMLで前の画面に戻る時、入力...
-
MySQLのBIT型列へのデータ格納...
-
phpでのメールフォームの作成に...
-
MySQLとPHP(HTML)の連携について
-
検索時の選択内容を保持する方法
-
POSTやGETの変数をフォーム無し...
-
入力フォーム→確認画面→送信画...
-
PHP ボタンが押されたら処理を...
-
phpでの複数選択チェックボック...
-
PHPのsubmitボタンが複数ある場合
-
テキストボックスとsubmitボタ...
-
パラメータが受け取れません。
-
PHP等を用いて在庫数を表示・管...
-
Flaskでサーバー立ち上げに関して
-
Submit(送信ボタン)を押した...
-
laravelを利用してコントロール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
パラメーターを隠す
-
PHPで画像の渡しが上手く行きま...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
フォームでのリセットを使う方法
-
syntax error, unexpected '}' ...
-
PHPの関数実行
-
入力した部分を表示させたまま...
-
テキストボックスに初期値を入れる
-
phpで分からないエラーが出てし...
-
入力フォーム→確認画面→送信画...
-
画面が更新されてもチェックボ...
-
Javascript→PHPに...
-
配列をhiddenで
おすすめ情報