2013-04-27 76 views
0

我有一个页面test.php中,我有名字的列表:改变变量,GET方法

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

test1.php?id=name2另一个页面,其结果应该是:

我试过这个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"; 
} 
} 
} 
?> 

我需要能够在test1.pdp?id=name4

结果与GET方法PHP改名字,现在应该是不同的。

有另一种方式,becose煤矿将无法正常工作?

+0

你能把你的test1.php编码为json吗? – intelis 2013-04-27 18:18:48

+0

没有,但人工养殖是另一个威仅仅通过改变test1.php获得来自同一个页面中的值?ID = NAME3 – 2013-04-27 18:24:41

回答

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.";  
    } 
?> 
+0

好一个ndasusers! – Sumoanand 2013-04-27 18:46:26

0

有一种完全不同的方式来做到这一点,使用PHP与JavaScript的结合(不知道如果这就是你以后,如果它可以与你的应用程序的工作是什么,但我会写)。你可以改变你的test.php读取GET参数(也可以是POST,以及,你会看到),并根据是,只输出所需的值,大概是从关联数组,你有没有硬编码。 JavaScript方法会有所不同,它会涉及到使用PHP进行单个AJAX调用而不是DOM遍历。

简而言之:AJAX调用test.php,然后基于GET或POST参数输出所需的值。

jQuery AJAX here;原生JS教程here

只要让我知道这将不会为您的应用程序的工作,我会删除我的答案。