显示数据库中的所有数据行

时间:2015-11-13 14:42:34

标签: php sql

我正在开发一个文档管理系统,到目前为止我能够根据登录的用户登录和上传文档。我还设法构建代码,以便捕获分配给该用户的记录和将它们显示在表格中。所以我能够以不同的用户身份登录,并查看我作为用户单独上传的内容。但是,唯一的问题是,当数据库中有多个实例时,脚本只为每个用户提取一行数据。请参阅以下代码:

Sinatra::Application.console_username

一切正常,我只想让它显示分配给登录用户的所有数据行,而不是一行。我该怎么做?

谢谢,

苏海尔。

2 个答案:

答案 0 :(得分:3)

你很亲密。你需要一个while循环。取代

 $filedata= ($sql) ? mysqli_fetch_array($sql) : false; 
 if($filedata){

使用

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

答案 1 :(得分:1)

您可以更改它,以便循环浏览每个返回的记录,如下所示:

<?php
$sql = mysqli_query($conn, "SELECT upload.personalid, upload.file, upload.type, upload.size, person.personalid FROM upload inner join person on upload.personalid=person.personalid where person.username='$uname '") or die (mysqli_error($conn));
if (mysqli_num_rows($sql) > 0) {
    while ($filedata = mysqli_fetch_array($sql)) {
    ?>
        <tr>
            <td><?php echo $filedata['file']; ?></td>
            <td><?php echo $filedata['type']; ?></td>
            <td><?php echo $filedata['size']; ?> Bytes</td>
        </tr>
    <?php
    }
} else {
    echo 'No files found';
}
?>