我在表单元素代码中有一个动态菜单
<form method="GET" action="index.php">
<?php
display_menu(); // this function generates menu items
?>
</form>
菜单生成后,每个菜单项都是上述表单的提交按钮,我希望通过提交按钮的名称或id属性获得单个元素的输入,并从数据库加载帖子。
<form method="GET" action="index.php">
<input type="submit" name="page-1" id="page-1" value="page-1">
<input type="submit" name="page-2" id="page-2" value="page-2">
<input type="submit" name="page-3" id="page-3" value="page-3">
<input type="submit" name="page-4" id="page-4" value="page-4">
</form>
因此,当按下任何输入按钮时,都会调用函数display_post()。函数代码如下:-
function display_post(){
$conn = mysqli_connect('localhost', 'root', '', 'posts') or die('cannot connect');
if($_SERVER['REQUEST_METHOD'] == 'GET' ){
$blog_post_id = $_GET["id"];
$sql = "SELECT * FROM blog_posts where id='blog_post_id' ";
$result = mysqli_query($conn, $sql) or die('cannot load');
while ($row = mysqli_fetch_assoc($result)){
if($row > 0){
echo '<div>'.$row['content'].'</div>';
}else echo 'no posts';
}
}
}
但是,display_post()
方法是在content标记内调用的,而display_menu()
是在另一个div内调用的。所以问题是我不能得到提交按钮的id,任何帮助都会被感谢。
发布于 2018-10-05 18:03:08
如果我猜对了,那么你的困难是什么?
$blog_post_id = $_GET['id'];
$sql = "SELECT * FROM blog_posts where id='".$blog_post_id."' ";//I modified this line
$result = mysqli_query($conn, $sql) or die('cannot load');
发布于 2018-10-05 19:24:25
您可以为每个按钮创建5种不同的表单,并将操作更改为
action="index.php?id=1"
然后使用$_GET['id']
同时更改id='blog_post_id' " to id='$blog_post_id' "
https://stackoverflow.com/questions/52662551
复制相似问题