在使用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
答案 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>';