如何从我的mysql表中删除某一行?

时间:2015-12-26 04:54:48

标签: php mysql

我正在尝试使用数据库创建学校关闭系统,这样我们就不必每次需要更新时都手动放入所有学校。

我想要做的是拥有数据库中的所有学校,但只显示具有Open状态以外的其他学校。例如,如果学校1开放但学校2被取消,我只想展示学校2.

我还希望能够在状态栏中显示所有学校都设置为“开放”的消息。

<html>
<?php

//make connection to database
mysql_connect('***', '***', '***');

//select database
mysql_select_db('***');

$sql="SELECT * FROM Schools";

$records=mysql_query($sql);

?>

<head>
<title>School Closings</title>
</head>
<body>

<table width="600px" border="1px" cellspacing="0px" cellpadding="3px">
<tr>

<th>Name</th>
<th>Status</th>
<th>Comments</th>
</tr>

<?php

while($Schools=mysql_fetch_assoc($records)) {

echo "<tr>";

echo "<td>".$Schools['Name']."</td>";

echo "<td>".$Schools['Status']."</td>";

echo "<td>".$Schools['Comments']."</td>";

echo "</tr>";

}//end while

?>

</table>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

$ sql = SELECT * FROM学校WHERE status =&#39;已取消&#39;; 使用此查询,您不需要删除记录,此查询将获取未开放或取消的学校的记录

答案 1 :(得分:0)

我认为您根本不想删除任何行。我想你只想显示某些行,并排除其他行显示。按照这个假设:

只需修改查询以包含where子句,该子句仅选择状态为“已关闭”的结果(或者您标记此状态):

SELECT name, status, comments FROM schools WHERE status <> 'open';

或者     WHERE closed = 1;

无论情况如何(当然取决于您的桌面结构)

答案 2 :(得分:0)

只需在查询中添加WHERE子句即可过滤status

$sql="SELECT * FROM Schools WHERE `status` = 'cancelled'";

并且不要在SELECT语句中使用*,在代码中指定列名!