老实说,这更像是一个如何帮助我已经拥有的代码。所以我希望这没关系,否则当然我会再次删除我的问题。无论如何,这里有一个带盒子的网站,带有图片标题和提交按钮。这些框中的所有信息都是从我的数据库中提供的。当然在我的数据库中我也有一个id单元格,如果我尝试用框中的其余信息回显id单元格,它就显示正常。但是当我尝试将id输出变量分配给标题位置时,我会因为一些奇怪的原因总是得到id 3.尽管id在框中显示完全正常。我已经包含了我的PHP代码,我仍然是PHP的初学者,所以抱歉这个noob问题。 :)
session_start();
include 'connection.php';
$sqlSelect = mysqli_query($con,"SELECT * FROM inspi");
while ($feed=mysqli_fetch_array($sqlSelect))
{
$id = $feed['id'];
if(isset($_POST['readArticle']))
{
$id = $_SESSION['id'];
header("Location:"."redirect.php?".SID.$idArticle);
}
?>
<div class="contentBoxOne">
<img width="100%" height="170px" src="userpics/<?php echo $feed['image']; ?>">
<div class="line"></div>
<form method="post" action="">
<input type="submit" name="readArticle" class="readArticle" value="Læs nu!">
</form>
<?php $idArticle= $feed['id'];?>
<h2><?php echo $feed['headline'];?></h2>
</div>
答案 0 :(得分:0)
你在循环的底部设置$ idArticle但是尝试在顶部使用它,所以它将从之前的结果中拉出它。尝试:
while ($feed=mysqli_fetch_assoc($sqlSelect)){
$idArticle= $feed['id'];
$sid = $_SESSION['id'];
if(isset($_POST['readArticle']))
{
header("Location:"."redirect.php?".$sid.$idArticle);
}
//rest of code
}
答案 1 :(得分:0)
你必须把div放在循环中。
我还使用表单操作属性替换了标头重定向(您可能希望将方法POST
替换为GET
)。
ID
带有隐藏字段
<?php
include 'connection.php';
$sqlSelect = mysqli_query($con,"SELECT * FROM inspi");
while ($feed=mysqli_fetch_assoc($sqlSelect))
{
$id = (int)$feed['id'];
?>
<div class="contentBoxOne">
<img width="100%" height="170px" src="userpics/<?php echo $feed['image']; ?>">
<div class="line"></div>
<form method="post" action="redirect.php">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<input type="submit" name="readArticle" class="readArticle" value="Læs nu!">
</form>
<h2><?php echo $feed['headline']; ?></h2>
debug: <pre><?php print_r($feed); ?></pre>
</div>
<?php } // end of while loop ?>