PHP 为每个 div 单独 id



老实说,这更像是帮助我已经拥有的代码的方法。所以我希望这没关系,否则我当然会再次删除我的问题。无论如何,我有一个带有框的网站,带有图片标题和提交按钮。这些框中的所有信息都是从我的数据库中传递的。当然,在我的数据库中,我也有一个id单元格,如果我尝试将id单元格与框中的其余信息一起回显出来,它会显示得很好。但是当我尝试将 id 输出变量分配给标头位置时,出于某种奇怪的原因,我总是得到 id 3。即使 id 在盒子里显示得很好。我已经包含了我的 php 代码,我仍然是 php 的初学者,所以很抱歉这个菜鸟问题。:)

 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>

您在循环的底部设置$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
}

你必须把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 ?>

最新更新