5、删除记录
在较为复杂的显示功能之后,我们的删除记录这样的任务会容易很多。
我们在每条被显示的记录后面添加一个文本连接“删除”,用来执行删除操作,可能会有朋友问,它能保证被删除的记录是我要删除的那个记录吗?
别着急,我们不是定义了一个自动增量key_script吗?,它能保证所有的记录都是唯一的,所以我们以它作为删除时的重要标记。
好了!我们来看看需要插入的代码。
还是在原来的文件script_select.php中修改
我们先来回顾一下前面的显示代码
while ($record=mysql_fetch_object($result))
{
print("<tr><td><font color=$key_scrit_color>".$record->key_script.
"</font><td><font color=$date_created_color>".$record->date_created.
"</font><td><font color=$date_updated_color>".$record->date_updated.
"</font><td><font color=$script_name_color>".$record->script_name.
"</font><td><font color=$script_size_color>".$record->script_size.
"</font><td><font color=$script_explain_color>".$record->script_explain.
"</font><td><font color=$author_name_color>".$record->author_name.
"</font><td><font color=$author_email_color>".$record->author_email.
"</font><td><font color=$author_homepage_color>".$record->author_homepage.
"</font>" );
}
这里用mysql_fetch_object()函数取出了每个记录的所有信息,而我们只用了其中的一部分。当然信息中就有我们需要的字段--自动增量key_script
这就好办了,只需添加这样一句代码
print"<a href=\"script_delete.php?action=delete_record&key_record=
$record->key_script\">删除</a>";
另外,建立一个文件script_delete.php
script_delete.php
<?php
require('connect.inc');
$current_date=date('Y-m-d H:i:s');
$str_sql="update $tablename
set date_updated='$current_date',flag_deleted='Y'
where key_script=$key_record";
$result=mysql_db_query($dbname,$str_sql,$link_id);
if (!$result){html_error_exit('MySQL 选择命令执行错误');
}
?>
在这里我们并没有真正的删除记录, 只是将相应字段标记为删除。
《PHP之星》 Siron/文