如何从mySQL数据库表中获取数据并将某些答案输入到php输出中

时间:2014-07-21 03:59:20

标签: php mysql sql mysqli

在使用php和mysql时,我是一个新人。我正在为我的个人发展做点工作,我遇到了一些我无法找到答案的事情。

我从关于mysql和php输出的php.net教程中发现,我可以使用以下方法从数据库中获取我的数据(这是本地wamp服务器,我知道不使用Root而不是我的数据库的密码)

$link = mysqli_connect("localhost", "root", "", "mydatabase");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * FROM `tblinvoices` ORDER BY `status` DESC";

if ($result = mysqli_query($link, $query)) {

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf("%s (%s)\n <br>", $row["userid"] . "<br>", $row["status"], $row["duedate"]);
    }

    /* free result set */
    mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);

以下是我在数据库中的哪些列供参考。

+ ------------ + ------------ + ------------ +

| id            | date         | status     |

+ ------------ + ------------ + ------------ +

| 220852       | 2014-07-15   | unpaid
       |
| 220853       | 2014-07-15   | paid
       |
| 220856       | 2014-07-15   | unpaid
       |
| 220859       | 2014-07-15   | paid

我知道我可以使用

 SELECT * FROM `invoices` where status = 'unpaid' ORDER BY `status` DESC

仅显示未付款的发票,但是当将其输出到php时,我遇到了一些问题。

但是当我尝试用上面的mysql查询替换它时,我根本没有得到任何东西。所以我的问题是如何显示所有未付发票的用户ID,duedate

非常感谢任何帮助和指导!

-Joshua

2 个答案:

答案 0 :(得分:0)

使用

printf ("%s (%s)\n <br>%s", $row["id"] . "<br>", $row["status"], $row["date"]);

修改

更改查询以获取所有未付费记录或在while循环中检查$row['status'] = 'unpaid'

$query = "SELECT * FROM `tblinvoices` where status = 'unpaid' "
. " ORDER BY `status` DESC"; 

if ($result = mysqli_query($link, $query)) {

/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
    printf ("%s (%s)\n <br>%s", $row["id"] . "<br>", $row["status"], $row["date"]);
}

答案 1 :(得分:0)

将表字段值传递给$ row

 echo '<table><tr><td>User Id</td><td>Due Date</td></tr>';
    while ($row = mysqli_fetch_assoc($result)) {
       echo '<tr>'; 
       echo '<td>'.$row['id'].'</td>';   
       echo '<td>'.$row['date'].'</td>';   
       echo '</tr>';  
     );
    }
    echo '</table>';