繁体   English   中英

如何从MySQL表中获取所有结果?

[英]How to fetch all the results from MySQL table?

我正在尝试从phpadmin mysql表中获取所有结果。 问题在于,将下面的代码与php和angular JS一起使用时,每次只会获取第一行。 假设表中有5个条目。 发生了什么事,只有第一个在网站上显示了5次。 当我执行php echo(在代码中注释掉)时,它返回表中的所有结果,但不适用于Angular JS。

我还使用了JS模糊搜索库,由于空间问题,这里没有提供。 否则代码如下:

</table>        
<?php

          $result = mysql_query("SELECT * FROM user_files ORDER BY id DESC");  
          while($row = mysql_fetch_array($result)){

          $id1 = $row['id'];
          $name = $row['user_file_name'];
          //echo $name.'<br/>';                     

?>

<div class="container" ng-init="books=[{book:'<?php echo $name;?>',author:'<?php echo $id1;?>'}]">
</div>                                


<tr ng-repeat="bookInfo in books | filter:bookText | orderBy:'book'">                                   


<td style="color: black;">{{ bookInfo.book }} - {{ bookInfo.author | lowercase}}</td>

<td style="color: black;" align="center">Size</td>
<td style="color: black;" align="center">Type</td>

<td style="color: black;" align="center" width=90%> 
<input type="button" name="read" value="Read"></td>

<td style="color: black;" align="center" width=90%>
<input type="button" name="write" value="Write"></td>

<td style="color: black;" align="center" width=90%>
<input type="button" name="download" value="Download"></td>

<td style="color: black;" align="center" width=90%>
<input type="button" name="share" value="Share"></td>

</tr>

由于您的while循环仅执行1次,因此您必须更改while循环逻辑。

是的,因为您将数组初始化为

ng-init="books=[{book:'<?php echo $name;?>',author:'<?php echo $id1;?>'}]

编译后显示类似

ng-init="books=[{book:'bookName1',author:'authorId1'}]

那么只有一本书可供ng-repeat

所以你要做的是

<?php

  $result = mysql_query("SELECT * FROM user_files ORDER BY id DESC");  
  $dataArr = array();         // to get the all the detail to a array
  while($row = mysql_fetch_array($result)){
      $id1 = $row['id'];
      $name = $row['user_file_name'];
      array_push($dataArr , array("book"=>$name , "author"=>$id1));
  }
 ?>

... ng-init="books=<?php echo json_encode($dataArr); ?>">

首先,通过从表中获取所有数据来创建一个数组,并将其转换为json数组。 注意:还要定义角度js控制器“ appController”,

      <?php
        $books = array();
        $result = mysql_query("SELECT * FROM user_files ORDER BY id DESC");  
        $i = 0;
        while($row = mysql_fetch_array($result)){

          $books[$i]['id'] = $row['id'];
          $books[$i]['name'] = $row['user_file_name'];
          $books[$i]['bookText'] = $row['bookText'];
          $books[$i]['author'] = $row['author'];
          $i++;
        }

        $books = json_encode($books);
      ?>

现在将此json数组分配给有角书数组

      <script>
        function appController($data) {
          $data.books = "<?php echo $books; ?>" ;
        }
      </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM