0

test.php名前のリストがあるページがあります。

name1: 992345
name2: 332345
name3: 558645
name4: 434544

別のページtest1.php?id=name2では、結果は次のようになります。

332345

私はこのPHPコードを試しました:

<?php 
libxml_use_internal_errors(true); 
$doc = new DOMDocument(); 
$doc->loadHTMLFile("/test.php"); 
$xpath = new DOMXpath($doc); 
$elements = $xpath->query("//*@".$_GET["id"]."");
if (!is_null($elements)) {
foreach ($elements as $element) {
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}
?>

GET PHP メソッドで名前を変更できるようにする必要がありますtest1.pdp?id=name4

結果は今とは異なるはずです。

434544

私の方法がうまくいかないので、別の方法はありますか?

4

2 に答える 2

1

これを行う別の方法があります。

<?php 
libxml_use_internal_errors(true); 

/* file function reads your text file into an array. */
$doc = file("test.php"); 

$id = $_GET["id"];

/* Show your array. You can remove this part after you 
 * are sure your text file is read correct.*/

echo "Seeking id: $id<br>";
echo "Elements:<pre>";
print_r($doc);
echo "</pre>";

/* this part is searching for the get variable. */

if (!is_null($doc)) {
    foreach ($doc as $line) {
        if(strpos($line,$id) !== false){
            $search = $id.": ";
            $replace = '';
            echo str_replace($search, $replace, $line);
        }
    }
} else {
    echo "No elements.";    
    }
?> 
于 2013-04-27T18:35:52.630 に答える
0

これを行うには、PHP を JavaScript と組み合わせて使用​​するという、まったく別の方法があります (それがあなたの求めているものであり、アプリで動作するかどうかはわかりませんが、私はそれを書きます)。GET パラメーターを読み取るように変更できtest.phpます (POST でもかまいません)。それに従って、ハードコーディングした連想配列から、目的の値のみを出力します。JavaScript のアプローチは異なり、PHP を使用して DOM トラバースする代わりに、単一の AJAX 呼び出しを行う必要があります。

要するに、 への AJAX 呼び出しtest.phpで、GET または POST パラメータに基づいて目的の値を出力します。

ここにjQuery AJAX ; ネイティブ JS チュートリアルはこちら.

これがあなたのアプリでうまくいかない場合はお知らせください。回答を削除します。

于 2013-04-27T18:35:27.117 に答える