简明现代魔法 -> PHP服务器脚本 -> 用PHP控制数据库信息的显示与隐藏
用PHP控制数据库信息的显示与隐藏
2010-05-11
有时候我们不想将所有的数据库记录都显示出来,但是又不好将这些不显示出来的数据删掉的话,可以采用下面的方法。
就是在数据表加一列 nowamagic_see ,然后定义其值为1或2。当 nowamagic_see = 1的时候,将其显示出来,2则不显示。然后通过后台切换这条记录的1,2。思路很简单,程序实现如下:
后台列表 list.php
/* 如果数据库字段 nowamagic_see 的值为1(即该记录为显示),
就将show=2连同nw_id用URL传送到nowamagicShow.php页面去*/
if ($row['nowamagic_see'] == 1)
{
?>
}
/*end db_input script*/
?>
/*start db_input script*/
if ($row['nowamagic_see'] == 2)
{
?>
}
/*end db_input script*/
?>
nowamagicShow.php
$updateGoTo = $ref = getenv('HTTP_REFERER');
//連結資料庫
mysql_select_db($database, $conn);
//接收傳遞的URL參數
$show = $HTTP_GET_VARS['show'];
$nowamagic_id = $HTTP_GET_VARS['nowamagic_id'];
//更新資料的SQL字串
$updateCommand = "UPDATE nowamagic SET nowamagic_see = $show where nowamagic_id = $nowamagic_id";
//執行epaper資料的更新
mysql_query($updateCommand,$connePaper);
header(sprintf("Location: %s", $updateGoTo));
?>
这样就可以改变数据表 ep 中的 ep_send 的值。在数据库查询的时候,可以使用 SQL 进行滤过,ep_send 的值为 1 的时,该记录为显示状态,ep_send 的值为 2 的时,该记录则为不显示状态。
在前台显示的时候,SQL 写成这样:
$query=" select * from booth where exhibitor_see = 1 and …… "
就可以将 nowamagic_see 值为2的字段全部不显示。