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


how to Use html table values (generated from a query) in a new query?

我目前有一个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>"

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

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

该查询应该根据上一个php页面中的表值获取详细信息(定义)。目前,我在'$_get['$row[disease']'上遇到了一个错误。我是新手,所以我不确定这是否是正确的做法?

任何想法都将不胜感激,谢谢。

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可能有更好的使用方法,但这也不错。希望这对有帮助

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']."' ;  ")

正如@Dragon提到的那样,为了使其成为正确的安全方式,您永远不应该在没有正确格式化的情况下使用$GET/$POST和其他方法对mysql进行操作。

有关更多信息:mysql_escape_string HTML实体filter_input。

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

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

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

这将通过GET方法向result1.php页面传递一个名为$disease的变量。然后,您就可以使用$_GET['disease']访问该变量。

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

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