【问题标题】:display details of a specific row of a table显示表格特定行的详细信息
【发布时间】:2015-01-07 14:21:23
【问题描述】:

我有一个显示项目列表的表格。表格的一列超链接到另一页。当单击此列上的任何项目时,它们将被重定向到另一个页面,该页面显示单击其列项目的特定行的数据。 例如

id   name  class
1    a      7th

每当单击 a 时,类等的整行的详细信息都应显示在其他页面上

部分表格代码为

<td><a href="therapist_view_office.php?<?php $_GET['id=".$row[id]."'];?>"><?php echo $row['office_name']; ?> </a> </td>

treatment_view_office.php 页面的代码

<?php
    $con=mysqli_connect("localhost","root","","db");
    // Check connection
    if(mysqli_connect_errno()) 
    echo "Failed to connect to MySQL: " . mysqli_connect_error();

    // escape variables for security
    $id = $_GET['id'];
    $office_name = mysqli_real_escape_string($con, $_POST['office_name']);
    echo "<div class='brand'>";             
    $result = mysqli_query($con,"SELECT office_name FROM office WHERE id='".$id."'");
    while($row = mysqli_fetch_array($result)) 
        {
            echo $row['office_name'];
        }
    echo "</div>";          
?>  

问题是我无法将一行的 ID 从第一页带到 therapy_view_office.php 页面,因为我没有得到结果(即 office_name)。我在第二页上的网址是www.xyz.com?therapist_view_office.php?

【问题讨论】:

    标签: php mysql sql mysqli phpmyadmin


    【解决方案1】:

    更改您的代码:

    <td><a href="therapist_view_office.php?id=<?php echo $row['id'];?>"><?php echo $row['office_name']; ?> </a> </td>
    

    【讨论】:

      【解决方案2】:

      从第一页进行这样的调用:

      <td><a href="therapist_view_office.php?id=<?php echo $row[id] ;?>"><?php echo $row['office_name']; ?> </a> </td>
      

      使用$_GET['id'] 意味着您正在从 URL 中获取“id”的值。

      P/S:您仍在 sql 查询中使用字符串连接,因此它仍然容易受到 Sql Injection 攻击。考虑使用prepared statement

      【讨论】:

        猜你喜欢
        • 2014-11-11
        • 1970-01-01
        • 1970-01-01
        • 2018-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-05
        • 1970-01-01
        相关资源
        最近更新 更多