我是emlog博客系统。数据库不太懂
想添加一个按钮,判断数据库中表是否存在,不存在就建立
$sql = "ALTER TABLE ".DB_PREFIX."blog ADD `zuijia` tinyint(2) NOT NULL DEFAULT '1' COMMENT '状态,1正常,2禁用'";
emlog的数据库建立如上面一样写的
存在的话状态点击按钮变成2,默认是1
大概是这样写的,不过我写的有点问题
$db->query("update ". DB_PREFIX ."blog SET zuijia=2 where gid=$logid");
有个点赞的例子
function syzan() {
$DB = MySql::getInstance();
if($DB->num_rows($DB->query("show columns from ".DB_PREFIX."blog like 'zuijia'")) == n) {
$sql = "ALTER TABLE ".DB_PREFIX."blog ADD `zuijia` tinyint(2) NOT NULL DEFAULT '1' COMMENT '状态,1正常,2禁用'";
$DB->query($sql);
}
}
syzan();
//UPDATE emlog_blog SET gid=gid+'2000'
function update($logid) {
$logid = intval($_POST['id']);
$DB = Database::getInstance();
$db->query("update ". DB_PREFIX ."blog SET zuijia=2 where gid=$logid");
}
上面是点赞的例子,想改成我所需要的,然后用按钮实现
按如下方式试下:
#判断表是否存在
$exist = Db::query('show tables like "table_name_' . $store_id . '"');
if (empty($exist)) {
$sql = "CREATE TABLE `table_name_{$store_id}` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`goods_id` int(11) unsigned NOT NULL COMMENT '图片的id',
`store_id` int(11) unsigned DEFAULT NULL,
`main_figure` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '主图,1;非主图,2',
`sort_order` smallint(5) unsigned NOT NULL DEFAULT '0',
`color` mediumint(8) unsigned DEFAULT NULL COMMENT '颜色',
`path` varchar(255) DEFAULT NULL COMMENT '图片的路径',
`status` tinyint(3) DEFAULT '0' COMMENT '状态,1=已生成,0=未生成图片',
`create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`update_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品图片表';";
Db::execute($sql);
}