首页 > 解决方案 > MySQL - 从 url ID 中选择行值

问题描述

我创建了一个表格,该表格通过表格进行更新,每一行都分配了一个特定的数字。

查看此表时,我想单击该分配的数字并获得一个页面,其中显示该行的所有详细信息。

如果我这样做$sql = "SELECT * FROM clients WHERE nif_id='114522';";- 其中 nif_id 是分配的数字 - 我会得到该数字的值,但我需要它随着表中的每个数字而改变。

有任何想法吗?

更新

这是表格代码:

<div class="card card-body">
        <table class="table">
          <thead>
              <tr>
                  <th>NIF</th>
                  <th>Nome</th>
                  <th>Apelido</th>
                  <th>Telemóvel</th>
                  <th>E-mail</th>
              </tr>
          </thead>
          <tbody>
        <?php
          include_once '../includes/db.inc.php';
          $sql = "SELECT * FROM clients ORDER BY nif_id ASC;";
          $result = mysqli_query($conn, $sql);
          $resultCheck = mysqli_num_rows($result);

          if ($resultCheck > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
              $first = $row["prm_nome"];
              $last = $row["apelido"];
              $phone = $row['nmr_tlm'];
              $email = $row['mail'];
              $nif = $row['nif_id'];

              echo '<tr>';
                      echo '<td>'.$nif.'</td>';
                      echo '<td>'.$first.'</td>';
                      echo '<td>'.$last.'</td>';
                      echo '<td>'.$phone.'</td>';
                      echo '<td>'.$email.'</td>';
                      echo '</tr>';
            }
          }
         ?>
       </tbody>
       </table>
     </div>

标签: phpmysqlselectwhere

解决方案


您可以使用获取请求参数。

例如:www.myapp.com/table?id=3920393

在您的 PHP 文件中添加如下功能

if(isset($_GET["id"])){ 
   $id = $_GET["id"];
   $sql = "SELECT * FROM clients WHERE nif_id='".$id."';";

  //make db call & display HTML
}

这是一个非常简单的实现,并没有实现任何安全性或 SQL 注入安全性。这更像是一个关于如何解决问题的概念性答案。


推荐阅读