我在将参数发送到另一个网页的网址时遇到问题。我是用PHP编码的新手,所以我真的不知道如何解决这个问题,已经对$ _GET方法进行了一些研究,但它仍然没有用。
第一页的代码:
echo "<tr><td><a href='application_desktop.php?id='". $temp ."'>" . $row['appl_nric_date'] . "</td><td>" . $row['applicant_name'] . "</td><td>" . $row['nric'] . "</td><td>" . $row['application_date'] . "</a></td></tr>";
其中$temp
是我想传递给网址的参数。
第二页的代码:
$id = $_GET['id'];
$applicants = mysql_query("SELECT * FROM tblapplication WHERE appl_nric_date = $id");
//$applicants = mysql_query("SELECT * FROM tblapplication WHERE appl_nric_date = 10");
sql查询返回$ id为null的错误,并且url不显示id。
答案 0 :(得分:1)
在你的html行上这样做
echo "<tr><td><a href=" . 'application_desktop.php?id=' . $temp . ">" . $row['appl_nric_date'] . "</td><td>" . $row['applicant_name'] . "</td><td>" . $row['nric'] . "</td><td>" . $row['application_date'] . "</a></td></tr>";
答案 1 :(得分:0)
我运行了你的代码以查看输出内容:
// Make some sample data
$row = [
'appl_nric_date' => '9999-99-99',
'applicant_name' => 'some-applicant',
'nric' => 'wtf-is-an-nric',
'application_date' => '8888-99-00'
];
$temp = 'something';
echo "<tr><td><a href='application_desktop.php?id='". $temp ."'>"
. $row['appl_nric_date']
. "</td><td>"
. $row['applicant_name']
. "</td><td>"
. $row['nric']
. "</td><td>"
. $row['application_date'] . "</a></td></tr>";
echo PHP_EOL;
这是它输出的内容:
<tr><td><a href='application_desktop.php?id='something'>9999-99-99</td><td>some-applicant</td><td>wtf-is-an-nric</td><td>8888-99-00</a></td></tr>
使用单引号是不对的。删除id=
后的单引号。
看起来你没有正确嵌套你的html元素。您将开头A标签放在第一个TD内,但是关闭该TD而不关闭A标签。
为了在浏览器中调试您正在执行的操作,那么url所在的地址栏应显示发送到目标页面的参数。您可以查看它以验证它是否发送了您想要的内容。
在目标页面中,您可以添加以下内容进行调试:
<pre>
<?php print_r($_GET) ?>
</pre>
以上内容可让您了解从第一页获得的内容。