如何让待处理状态自动显示?

时间:2018-01-18 11:16:39

标签: php html sql database phpmyadmin

我有这个休假表格,员工可以申请休假。一切正常,唯一的问题是我无法显示待处理状态。我已经在我的桌子上定义了status的默认值。

这是我查看树叶时的样子:

view-leave

这是我的桌面结构:

Table Structure

我不确定你们是否需要我的查看 - 请假代码,但现在是:



<div class="table-responsive">
<table class="table">
	<tr>
		<th>Employee Name</th>
		<th>Phone</th>
		<th>Email</th>
		<th>From</th>
		<th>To</th>
		<th>Reason</th>
		<th>Status</th>
	</tr>
<?php
	include ('database.php');
	$result = $database->prepare ("SELECT * FROM leaves order by id DESC");
	$result ->execute();
	for ($count=0; $row_message = $result ->fetch(); $count++){
?>
	<tr>
		<td><?php echo $row_message['full_name']; ?></td>
		<td><?php echo $row_message['phone']; ?></td>
		<td><?php echo $row_message['email']; ?></td>
		<td><?php echo $row_message['fromdate']; ?></td>
		<td><?php echo $row_message['todate']; ?></td>
		<td><?php echo $row_message['reason']; ?></td>
		<td><?php echo $row_message['status']; ?></td>
	</tr>
	<?php	}	?>
</table>

<a href="home"><button type="button" class="btn btn-primary"><i class="glyphicon glyphicon-arrow-left"></i> Back</button></a>

</div>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

DEFAULT关键字确定INSERT期间的行为,而不是SELECT期间的行为。无论当前DEFAULT是什么,您都会看到表格中的任何值。

如果您想在SELECT期间使用类似默认值的内容,请尝试以下操作...

SELECT
    id,
    full_name,
    phone,
    email,
    fromdate,
    todate,
    reason,
    COALESCE(status, 'Pending')   AS status
FROM
    leaves
ORDER BY
     id DESC

在您选择数据时,这将用NULL替换status中的所有'Pending'值。它不会改变表格中的任何内容,仅在结果中。


如果你想改变表格中的内容以摆脱那些&#34;空白&#34;值,你需要做UPDATE

UPDATE
    leaves
SET
    status = 'Pending'
WHERE
       status IS NULL
    OR status = ''


如果您希望将来阻止空白值进入表格,您需要明确提及所有字段 之外的所有字段已应用默认值。

INSERT INTO
    leaves (
        full_name,
        phone,
        email,
        fromdate,
        todate,
        reason
    )
VALUES (
    'Joe Bloggs',
    '555 555 555',
    'joe@bloggs.com',
    '2017-04-01',
    '2018-12-25',
    'Just Because'
)

一开始的字段名称列表至关重要。

如果您跳过它,则告诉数据库要为 每个 列设置值,因此您永远不会想要使用默认值。如果您在列表中添加status,情况也是如此:即使您提供值NULL'',您也会告诉数据库您的价值是什么想要,不管默认是什么。