我在此处的表单元素代码中有一个动态菜单
<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()
方法是在内容标签中调用的,而display_menu()
是在另一个div中调用的。
因此,问题是我无法获取“提交”按钮的ID,请提前谢谢您的帮助。
答案 0 :(得分:0)
当您单击“提交”按钮时,您将获得表单的所有输入值。
做一件事,将此语句print_r($_GET);exit;
放在display_post()
的第一行,然后单击“提交”按钮,看看会得到什么。
注意::1.要获取clicked按钮的值,则应使用javascript或jQuery和Ajax。
2.您无法通过字段ID
获取输入字段的值。
例如如果我们有字段<input type="submit" name="page-1" id="page-1" value="page-1">
那么我们可以得到它的值:
echo $_GET['page-1'];
page-1
是输入字段名称。
答案 1 :(得分:0)
如果我猜对了,你的困难是什么
$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');
答案 2 :(得分:0)
您可以为每个按钮创建5种不同的形式,并将操作更改为
action="index.php?id=1"
然后使用$_GET['id']
还要更改id='blog_post_id' " to id='$blog_post_id' "