我有一个sql查询,我存储在一个变量中,我显示。我从另一个文件中获取了file_get_contents的内容,我想恢复一些代码(这是html)以便建立链接。更准确地说是检索id。 我的api.php
$base = mysql_connect ('localhost','root','');
mysql_select_db('administrations', $base);
if(isset($_GET['cp']))
{
$sql = 'SELECT NOM_organisme, ID_organisme
FROM organismes
WHERE code_postal LIKE "%'.$_GET['cp'].'%"
ORDER BY NOM_organisme;';
$req = mysql_query($sql) or die('SQL Error !<br>'.$sql.'<br />'.mysql_error());
}
while ($data = mysql_fetch_array($req))
{
echo '<p id="'.$data['ID_organisme'].'"'.
$data['NOM_organisme'].'</br>'.
$data['ID_organisme'].'</p></br>';
}
我想获得id="I WANT THIS"
。
我的index.php(检索内容的代码的一部分)。
if(isset($_POST['cp']))
{
$api = "http://mywebsite.fr/api.php?cp=".$_POST['cp'];
$var = file_get_contents($api);
echo $var;
}
如何在index.php中获取id=""
?
答案 0 :(得分:0)
我明白你想做什么,但是如果不知道这个小代码的目的,就不会发现它是合乎逻辑的:)
你有链接或某种类型吗?
基本上我应该做的是:
$base = mysql_connect ('localhost','root','');
mysql_select_db('administrations', $base);
if(isset($_POST['cp']))
{
$sql = 'SELECT NOM_organisme, ID_organisme FROM organismes WHERE code_postal LIKE "%'.$_GET['cp'].'%" ORDER BY NOM_organisme;';
$req = mysql_query($sql) or die('SQL Error !<br>'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req))
{
echo '<p id="'.$data['ID_organisme'].'"'.$data['NOM_organisme'].'</br>'.$data['ID_organisme'].'</p></br>';
}
} else {
echo 'show something else';
}
答案 1 :(得分:0)
请看php获取文档。你需要使用url参数链接到你的脚本并在php代码中访问它们。
http://php.net/manual/en/reserved.variables.get.php
echo '<a href="?id='.$data['ID_organisme'].'">'.$data['NOM_organisme'].'</br>'.$data['ID_organisme'].'</a></br>';
PHP
if(isset($_GET['id']))
{
$api = "http://mywebsite.fr/api.php?cp=".$_GET['id'];
$var = file_get_contents($api);
echo $var;
}
如果您不想使用url参数,可以使用帖子值
答案 2 :(得分:0)
如果我找到你,你就是
在这种情况下,您可能希望使用正则表达式。 preg_match_all似乎是合适的。它应该对你有用:
$out = array();
preg_match_all("/id=\"([^\"]*?)\"/U", $var, $out);
foreach ($out as $value) {
echo 'I found some id ' . htmlspecialchars($out[$value][2]) . '<br />';
}
另外:
答案 3 :(得分:0)
首先,您应该尝试将API回复显示为JSON字符串,这样更方便。
如果您仍想使用api.php,首先需要关闭您的开头段落!你确实忘记了'&gt;'!
echo '<p id="'.$data['ID_organisme'].'">'.
$data['NOM_organisme'].'</br>'.
$data['ID_organisme'].'</p></br>';
然后你需要解析你的段落。 你可以这样做:
if(isset($_POST['cp']))
{
$api = "http://mywebsite.fr/api.php?cp=".$_POST['cp'];
$var = file_get_contents($api);
preg_match("@<p id='(.*)'@", $var, $matches);
id = $matches[1];
echo $id;
}