【问题标题】:Detect column id after clicking link单击链接后检测列 ID
【发布时间】:2018-03-06 02:07:52
【问题描述】:

这是我的代码的快照代码。我希望它允许用户单击链接并显示内容。但显示的列表是基于我输入文本及其 ID 的数据库。所以我想要一个可以在点击时检测id并将id的特定值传递给选项卡内容的函数。选项卡内容将决定点击哪个 id。如果单击 id "1",则显示 id "1" 内容。我正在制作酒店楼层的列表,并分别显示每个楼层的内容。

<li>
   <?php
        $conn = new mysqli('localhost', 'root', '', 'test') or die ('Cannot connect to db');
        $result = $conn->query("select * from floors");
        while ($row = $result->fetch_assoc()) 
        {
            ?><li><a href="#floor" data-toggle="tab"><?php echo $row['listfloor'];?></a></li><?php
        }
    ?>                                  
</li>

<div class="tab-content>
  <div id="floor" class="tab-pane fade in">
     <?php
        $conn = new mysqli('localhost', 'root', '', 'test') or die ('Cannot connect to db');
        $result = $conn->query("select * from floors");
        $row = $result->fetch_assoc();
        if ("the value of id clicked by user")
        {
            echo include 'groundfloor.php';
        }
     ?>                         
 </div>
</div>

【问题讨论】:

  • 使用$_GET 并在您的SQL 查询中添加WHERE 语句。没什么复杂的。
  • 你能给出一个示例语法吗?我对 php 编程很陌生
  • 那你应该google一下,学习如何在PHP中使用$_GET。它是 PHP 基础的一部分,你真的应该做一些研究并了解它。这里不需要举例,网上有很多例子。做你的研究,如果你仍然不明白它是如何工作的,那么回来,我会帮助你。

标签: php database list mysqli hyperlink


【解决方案1】:

在带有链接的页面上,更改:

href="#floor" 

href="#floor?id=<?= $row['listfloorid]; ?>"

然后在您的列表页面上将查询更改为:

<?php $conn = new mysqli('localhost', 'root', '', 'test') or die ('Cannot connect to db');
$result = $conn->query("select * from floors");
$row = $result->fetch_assoc();

?>
<div class="tab-content">
    <div id="<?= $row['listfloorid']; ?>" class="tab - pane fade in">
        <?php
            echo include $row['floorname'] . '.php';
        ?>
    </div>
</div>

【讨论】:

  • 其实我可以在 href 中回显 id 行并将 id 值放在选项卡内容中。但这是来自数据库。如果管理员想添加另一个新楼层怎么办?我不能只是在标签内容中复制该功能。如何解决?
【解决方案2】:

这是有效的

在链接中

<li><a href="#floor<?php echo $row['id'];?>" data-toggle="tab"><?php echo $row['listfloor'];?></a></li>

在标签内容中

<div class="tab content">
  <div id="floor1" class="tab-pane fade in">    
        <?php echo include 'groundfloor.php'; ?>
  </div>
</div>

但问题是我希望整个楼层只有 1 个功能。因此,如果管理员添加了新楼层,我不必再次复制语法

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多