我希望你们能帮助我。所以问题是,如何从第1页获取该链接ID并在单击链接时将其发送到第2页?因此,我可以根据点击的ID进行查询,以显示自己的内容,而不是显示每个ID的整个内容。第2页包含在第1页中。因此,与数据库的连接是相同的。 Floors表和Rooms表位于同一个数据库中。 这是我的代码。
第1页(侧边栏菜单。例如,一楼底层)
<?php
$result = $conn->query("select * from floors");
while ($row = $result->fetch_assoc())
{
?><li><a href="#floor" data-toggle="tab" id="<?php echo $row['floorid'];?>"><?php echo $row['floorname'];?></a></li><?php
}
?>
第2页(侧边栏菜单内容。例如,底层内容,第1层内容)
<?php
$result = $conn->query("SELECT * FROM rooms WHERE floorid = '".$_GET['id']."'");
while($row = $result->fetch_assoc())
{
......
}
mysqli_close($conn);
?>
答案 0 :(得分:1)
您可以通过多种方式对此进行归档,但我将展示您完成此任务的两种方法。
首先是纯PHP,
第1页:
<?php
$result = $conn->query("select * from floors");
while ($row = $result->fetch_assoc())
{
?><li><a class="links" href="page2.php?id=<?php echo $row['floorid'];?>" data-toggle="tab" id="<?php echo $row['floorid'];?>"><?php echo $row['floorname'];?></a></li><?php
}
?>
上面的代码将直接将您的数据发送到第二页,您希望它从数据库中获取数据。这将工作,但它会将您的第二页加载到浏览器(如果你想要的话)。但是你已经标记了“javaScript&#39;所以我将使用jQuery和AJAX向您展示另一种方式。
第一代PHP:
<?php
$result = $conn->query("select * from floors");
while ($row = $result->fetch_assoc())
{
?><li><a class="links" href="#" id="<?php echo $row['floorid'];?>"><?php echo $row['floorname'];?></a></li><?php
}
?>
<div id="tab content>
<div id="floor" class="tab-pane fade in">
</div>
</div>
您可以将此部分放在与上述代码相同的页面中,也可以将其放在单独的JS文件中并将其链接到PHP。
$(document).ready(function() {
$(document).on('click', '.links', function(){
var id = $(this).prop('id');
$.ajax({
url: 'page2.php',
type: 'get',
data: {'id': id}
}).then(function (response) {
if (response) {
$('#floor').html(response);
}
});
});
})
上述代码的作用是当文档准备就绪时,它会在指定的类上监听或查找点击事件,即&#39; .links&#39;。当这些功能看到&#39; .link&#39;下的任何链接上的点击事件。它会点击甚至点击并读取&#39; id&#39;财产价值。
然后使用AJAX将捕获的数据发送到您的第二个PHP,从该PHP获取响应,并在id&#39; floor下填充div。
另外一点是,您的处理PHP无法加载,它将在服务器中处理,主页面将不会刷新,div将使用即将到来的响应文本重新编写。
希望这有用,如果它不起作用只是让我知道。
答案 1 :(得分:0)
更改
<a
href="#floor"
data-toggle="tab"
id="<?php echo $row['floorid'];?>">
<?php echo $row['floorname'];?>
</a>
要
<a
href="?id=<?php echo $row['floorid'];?>#floor"
data-toggle="tab"
id="<?php echo $row['floorid'];?>">
<?php echo $row['floorname'];?>
</a>
我在id
之前添加了#floor
,以便您可以在重定向到ID为$_GET['id']
floor
要避免Undefined index
错误,请使用以下命令:
<?php
if(isset($_GET['id'])){
$result = $conn->query("SELECT * FROM rooms WHERE floorid = '".$_GET['id']."'");
while($row = $result->fetch_assoc())
{
......
}
mysqli_close($conn);
}
?>
答案 2 :(得分:-3)
您可以使用此代码。 这可以使用两个方法,一个是$ _GET和$ _POST
if server_port:
if type(server_port) == list:
for a_server_port in server_port:
config['port_password'][a_server_port] = config['password']
else:
config['port_password'][str(server_port)] = config['password']
添加
<li><a href="?id=<?php echo $row['floorid'];?>#floor" data-toggle="tab" id="<?php echo $row['floorid'];?>"><?php echo $row['floorname'];?></a></li>
#地板”在锚标记中。