如何在新查询中使用html表值(从查询生成)?

时间:2014-08-28 20:00:07

标签: php html mysql sql

我目前有一个php / html表,其中包含查询生成的值:

while($row = mysql_fetch_array($query))
{
echo "<tbody>";
echo "<tr>";
echo "<td>" . $row['disease'] . "</td>";
echo "<td>
        <a href='result1.php' class='button1'>View Details</a>
        <a href='#' class='button1'>Book Appointment</a>
      </td>";
echo "</tr>";
echo "</tbody>"

我想要做的是让用户点击查看详细信息&#39;按钮以启动另一个查询(在result1.php中处理):

$query = mysql_query("SELECT definition FROM tbl_disease WHERE disease = '" . $_GET[' $row[disease'] . "' ;  ")
or die(mysql_error());

此查询应根据上一个php页面中的表值获取详细信息(定义)。目前我收到错误的&#39; $ _ GET [&#39; $ row [疾病&#39;]。&#39;。我是新手,所以我不确定这是否是正确的方法呢?

非常感谢任何想法,谢谢。

3 个答案:

答案 0 :(得分:0)

echo "<td>
        <a href='result1.php?disease=".$row['disease']."' class='button1'>View Details</a>
        <a href='#' class='button1'>Book Appointment</a>
      </td>";
echo "</tr>";

这是你可以通过疾病的方法,但你在编写查询时应该更加小心你应该检查一下mysqli_real_escape_string这里是手册:http://php.net/manual/en/mysqli.real-escape-string.php可能有更好的使用方法,但这不是也不好。希望这有帮助

答案 1 :(得分:-1)

从原始代码中,您尝试通过名为的GET方法访问URL变量,但是您没有将该变量传递给URL,因为您的href不包含它。

尝试在第一页的链接网址中设置变量,如下所示:

<a href='result1.php?disease=" . $row['disease'] . "' class='button1'>View Details</a>

这会通过GET方法将名为$disease的变量传递给您的result1.php页面。然后,您可以使用$_GET['disease']

访问变量
$query = mysql_query("SELECT definition FROM tbl_disease WHERE disease = '" . $_GET['disease'] . "'");

http://www.w3schools.com/tags/ref_httpmethods.asp

答案 2 :(得分:-1)

result1.php $_GET[' $row[disease']中您有<a href='result1.php' class='button1'>View Details</a> 但在代码中

GET

您不发送<a href='result1.php?disease=".$row['disease']."' class='button1'>View Details</a> 值。 将上述内容更改为:

result1.php

并在$query = mysql_query("SELECT definition FROM tbl_disease WHERE disease = '".$_GET['disease']."' ; ")

{{1}}

为了使它成为正确的安全方式,就像@Dragon提到的那样,你永远不应该使用$ GET / $ POST和其他没有正确格式化的mysql进行操作。

欲了解更多信息: mysql_escape_string htmlentities filter_input