从div php javascript中获取mysql显示的所有数据

时间:2014-02-07 11:29:28

标签: javascript php mysql

你好我的问题很简单,我有一个表新闻,我有一个按钮bt1,和一个div来显示结果,我想显示表中的所有行当我点击按钮,我只得到第一行,如何显示所有结果?

    <script>
function shownews(id) { <? php
    include('db.php');
    $query = mysql_query("SELECT * FROM news");
    while ($row = mysql_fetch_array($query)) {
        $a = $row['news_title'];
    } ?>
    var ab = <? php echo json_encode($a); ?> ;
    id.innerHTML = ab;
}
</script>
<div id="results"></div>
<button id="btn1" onclick="shownews(results)">See news</button>

5 个答案:

答案 0 :(得分:1)

尝试

$a = array();
while ($row = mysql_fetch_array($query)) {
            $a[] = $row['news_title'];
        } ?>
// print array

print_r($a);

答案 1 :(得分:1)

你的echo json_encode($ a);不在你的while循环中,所以你只渲染1行。 此外,如果我理解你在做什么,你希望你的PHP只有在你点击按钮时才能执行?这不是这样做的方式... php是一种服务器语言,其中javascript只能由您的浏览器执行。

我没有

试试这个:

<script type="text/javascript">
    function shownews(id) {
        document.getElementById(id).innerHTML = document.getElementById('news').innerHTML ;
    }
</script>
<div id="news" style="display:none ;">
<?php
    include ('db.php');
    $query=mysql_query("SELECT * FROM news");
    while($row=mysql_fetch_array($query)){
     echo $row['news_title'] . '<br />' ;
    }
?>
</div>
<div id="results"></div>
<button id="btn1" onclick="shownews('results')">See news</button>

答案 2 :(得分:0)

你正在覆盖$ a,因此你只能获得最后一行。

更改

while($row=mysql_fetch_array($query)){
    $a=$row['news_title'];
}

$a = array();
while($row=mysql_fetch_array($query)){
    array_push($a, $row['news_title']);
}

编辑:Royal_bg是正确的 - 额外信息:

  

注意:如果使用array_push()向数组添加一个元素,最好使用$ array [] =,因为这样就没有调用函数的开销。 http://us2.php.net/array_push

答案 3 :(得分:0)

你在写任何东西之前都会一直执行。写完答案后,尝试更改结束括号......

<script>

  function shownews(id){

<?php

    include ('db.php');
    $query=mysql_query("SELECT * FROM news");

    while($row=mysql_fetch_array($query)){
      $a=$row['news_title'];

?>

      var ab = <?php echo $a; ?>;
      id.innerHTML += ab;

<?php

    }

?>

  }
</script>

<div id="results"></div>
<button id="btn1" onclick="shownews(results)">See news</button>

答案 4 :(得分:0)

  function shownews(id){



  <?php
  include ('db.php');
  $query=mysql_query("SELECT * FROM news");

  while($row=mysql_fetch_array($query)){
  $a[]=$row['news_title'];

  }



   ?>


  id.innerHTML=<?php echo json_encode($a); ?>;

  }