Javascript 如何从MySQL表中获取所有结果?
我正在尝试从phpadmin mysql表中获取所有结果。问题是,使用下面的php和angular JS代码,每次只获取第一行。假设表中有5个条目。发生的只是第一个在网站上显示了5次。当我执行代码中注释掉的php echo时,它将返回表中的所有结果,但它不适用于angular JS 我还使用JS模糊搜索库,由于空间问题,我在这里没有提供。代码如下:Javascript 如何从MySQL表中获取所有结果?,javascript,php,mysql,angularjs,Javascript,Php,Mysql,Angularjs,我正在尝试从phpadmin mysql表中获取所有结果。问题是,使用下面的php和angular JS代码,每次只获取第一行。假设表中有5个条目。发生的只是第一个在网站上显示了5次。当我执行代码中注释掉的php echo时,它将返回表中的所有结果,但它不适用于angular JS 我还使用JS模糊搜索库,由于空间问题,我在这里没有提供。代码如下: </table> <?php $result = mysql_query("SELECT *
</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 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数组来创建一个数组。注:还定义angular 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数组分配给angular books数组
<script>
function appController($data) {
$data.books = "<?php echo $books; ?>" ;
}
</script>
我试过了,它不起作用。相反,它不显示任何文件:我保持了以下两行代码的完整性{{{bookInfo.book}}-{{bookInfo.author | lowercase}}你在inspect元素上看到了什么?我在表定义上做了一个inspect元素,它显示了sql表中的所有文件,但它们并没有在web上显示出来。这是您在检查元素上的ng init=books=on检查元素后可以看到的检查元素视图?
<script>
function appController($data) {
$data.books = "<?php echo $books; ?>" ;
}
</script>