为什么这个onclick仅警告来自while循环的一个结果

时间:2012-12-06 06:05:16

标签: php mysql

目前有三个帖子,但是当onclick只提醒一个帖子。如果我回复帖子insite循环,然后显示所有三个帖子,但是如果我提醒他们,那么只有一个帖子是show.plz帮助或建议任何替代方法

  $sql=mysqli_query($db3,"SELECT * from user where  id='$id'");
            $num_rows=mysqli_num_rows($sql);

            while($row=mysqli_fetch_array($sql)){

                $posts=$row['posts'];
            }


            ?>
        <span onclick=u(<?php echo $posts; ?>)> <?php echo $num_rows  ?> </span>

        <script type="text/javascript">
            function u(posts) {
                alert(posts);
            }
        </script>
        <?php

更新

这是第二个查询  使用数组方法后,如果我使用带有$ num行的花式框来显示fancybox中的所有帖子。我再次获得fancybox.Plz帮助中的唯一一个结果

            $posts[] = $row['posts'];

}               foreach($ post as af af){

                echo "<div id='#modelbox_id'>$af</div>";}

            ?>


            <a href="#modelbox_id" class="modelbox"><?php   echo $num_rows; ?></a>

            <?php

2 个答案:

答案 0 :(得分:2)

这是因为您将一个帖子行分配到$posts变量中,然后在while循环的每次迭代中用新值覆盖该变量。

尝试这样的事情:

$posts = array();
while($row=mysqli_fetch_array($sql)){
    $posts[] = $row['posts'];
}

然后您需要打印$posts数组的每个值。

例如,您可以将数组内爆为字符串:

<span onclick=u(<?php echo implode(', ', $posts); ?>)> ...

答案 1 :(得分:0)

而是尝试这样的事情

        while($row=mysqli_fetch_array($sql)){
            $posts .= $row['posts'].",";
        }
      ?>
    <span onclick="u('<?php echo $posts; ?>')"> <?php echo $num_rows  ?> </span>

    <script type="text/javascript">
        function u(posts) {
            alert(posts);
        }
    </script>