我正在从数据库中获取数据并对其进行回显,如下所示。
<?php
include 'retrieveAllPosts.php';
foreach ($studentsResults as $posts)
{
$title = htmlentities($posts['Title']);
$Location = htmlentities($posts['Location']);
$Description= htmlentities($posts['Description']);
$companyname = htmlentities($posts['companyname']);
echo "
<div class='col-md-6 z-depth-1-half' style='margin-left:250px; margin-top:10px;margin-bottom: 10px' id='hey'>
<h3>$title</h3>
<p name='location'>$Location</p>
<h6><b>Description</b></h6>
<p>$Description</p>
<p>$companyname</p>
<form action='showPosts.php' method ='POST'>
<button class='btn btn-primary' type='submit'>Apply</button>
</form>
</div>
";
}
?>
根据数据库中的记录数显示许多div。当用户单击唯一div的提交按钮并将其发送到showposts.php时,如何获取位置和描述数据。所有其他div都应该发生相同的情况。
答案 0 :(得分:4)
如果您将这些字段作为隐藏字段添加到表单中,则非常简单-单击提交按钮时,值将被提交回服务器:
<form action='showPosts.php' method ='POST'>
<input type='hidden' name='Description' value='$Description'/>
<input type='hidden' name='Location' value='$Location'/>
<button class='btn btn-primary' type='submit'>Apply</button>
</form>
我也许建议您最好只为帖子提交一个唯一的ID,而不要为帖子中的特定字段提交。然后,服务器可以确定真正引用了哪个帖子,并且当然可以根据需要再次从数据库中检索其余数据。例如假设您有一个名为$PostID
的变量,它是数据库中帖子的ID,那么您可以执行以下操作:
<form action='showPosts.php' method ='POST'>
<input type='hidden' name='PostID' value='$PostID'/>
<button class='btn btn-primary' type='submit'>Apply</button>
</form>
P.S。在id='hey'
中包含<div
会导致HTML无效-ID是用来唯一标识元素的,但是由于您多次回显此元素,因此您将得到许多具有相同元素的元素ID。显然,这是没有意义的,也是不允许的。例如,如果您尝试使用JavaScript选择div,它将给您带来麻烦。
答案 1 :(得分:1)
使用此解决方案将您的数据ID发送到其他php页面
<form action='showPosts.php' method ='POST'>
<input type="hidden" name="postid" value="<?php echo $postid; ?>">
<button class='btn btn-primary' type='submit'>Apply</button>
</form>
或者您可以简单地使用
<a href="showPosts.php?id=<?php echo $postid; ?>" class='btn btn-primary'>Apply</a>