PHP为每个div分隔id

时间:2014-11-26 10:52:28

标签: php html mysqli

老实说,这更像是一个如何帮助我已经拥有的代码。所以我希望这没关系,否则当然我会再次删除我的问题。无论如何,这里有一个带盒子的网站,带有图片标题和提交按钮。这些框中的所有信息都是从我的数据库中提供的。当然在我的数据库中我也有一个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>

2 个答案:

答案 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 ?>