学做网站培训课程介绍

当前位置:

WordPress 前端创建数据表并对数据增删改查

使用wordpress做网站时,我们有时需要创建一个数据表来存储自己的一些信息,那么怎么在前端就可以自动创建数据表呢,并且可以对数据表的信息进行增删改查操作。下面学建站网就来介绍一下WordPress如何在前端创建数据表并对数据增删改查的操作方法。

1、wordpress创建数据库表


function add_table(){ //创建自定义分类表函数
global $wpdb;
$table_name = $wpdb->prefix . "diandan"; //声明表名 wp_diandan为要创建的表名
$table_names = $wpdb->get_var("SHOW TABLES LIKE '$table_name'"); //获取声明的表判断是否存在
if($table_names != $table_name){
$sql = "CREATE TABLE " . $table_name . " (
`tid` bigint(20) NOT NULL AUTO_INCREMENT,
`term_id` bigint(20) NOT NULL,
`yanse` TEXT(20) NOT NULL,
`riqi` DATETIME NOT NULL,
`fhtime` TEXT(20) NULL,
PRIMARY KEY (`tid`),
UNIQUE KEY `term_id` (`term_id`)//设置唯一值的字段(需要设置长度,如:bigint(20))
) ENGINE=MyISAM DEFAULT CHARSET=utf8;"
;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}
add_table();

tid:表中的字段 term_id:表中字段 可根据需求增加

1-2、如果需要通过循环动态添加字段,可以这样写:


//创建自定义分类表函数
function add_table(){
global $wpdb;
$sqllr ="";
$cansuen=get_option('cansuen');
$cansuenarr= $cansuen ? explode(",", $cansuen) : array();
for($i=0;$i<count($cansuenarr);$i++){
$sqllr = $sqllr."`".$cansuenarr[$i]."` TEXT(20) NULL,";
}
$table_name = $wpdb->prefix . "dingdan"; //声明表名 types为要创建的表名
$table_names = $wpdb->get_var("SHOW TABLES LIKE '$table_name'"); //获取声明的表判断是否存在
if($table_names != $table_name){
$sqllr = "`tid` bigint(20) NOT NULL AUTO_INCREMENT,
`useid` BIGINT(20) NOT NULL,
`shopid` BIGINT(20) NOT NULL,"
.$sqllr."
`danjia` FLOAT NOT NULL,
`shu` TEXT(20) NOT NULL,
`zongjia` FLOAT NOT NULL,
`riqi` DATETIME NOT NULL,
`fahuo` TEXT(20) NULL,
`usename` TEXT(20) NULL,
`usetell` TEXT(20) NULL,
`usedizhi` TEXT(20) NULL,
`kuaidi` TEXT(20) NULL,
`fhtime` TEXT(20) NULL,
PRIMARY KEY (`tid`),
UNIQUE KEY `tid` (`tid`)"
;
$sql = "CREATE TABLE " . $table_name . " (".$sqllr.") ENGINE=MyISAMDEFAULT CHARSET=utf8;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}

2、wordpress增加数据库表字段 $wpdb->query()

$wpdb->query() 中可为任意的增删改查sql语句


global $wpdb;
$table_name = $wpdb->prefix . "types"; //表名
$sql = $wpdb->query("ALTER TABLE 表名 ADD 字段名 CHAR(255)");
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);

3、wordpress数据库增删改查操作

增:$wpdb->insert() ,


global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
//增加数据
$sql = $wpdb->insert('wp_termmeta',array('term_id'=>8,'meta_key'=>'title','meta_value'=>'我是标题'));
dbDelta($sql);

删:$wpdb->delete(),


global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
//删除数据表 wp_termmeta 中 meta_id 为 1 的数据
$sql = $wpdb->delete( 'wp_termmeta', array( 'meta_id' => 1 ) );
dbDelta($sql);

改:$wpdb->update,


global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
//改 (修改meta_id等于80中的 meta_value中的值为我是修改后的标题 )
$sql = $wpdb->update('wp_termmeta',array('meta_value'=>'我是修改后的标题'),array('meta_id'=>80));
dbDelta($sql);

第一个数组为修改的内容,第二个为修改的条件

查:$wpdb->get_results


global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
$sql = $wpdb->get_results("SELECT * FROM wp_termmeta WHERE term_id = '9' ");
for($i=0;$i<count($sql);$i++){
echo $sql[$i]->meta_key;
echo $sql[$i]->meta_value;
}
print_r($sql);

4、$wpdb是一个全局变量,包含多个关于wordpress数据库操作函数:


$wpdb -> get_results('query');
$wpdb->query('query');
$wpdb->get_var('query',column_offset,row_offset);
$wpdb->get_row('query', output_type, row_offset);
$wpdb->get_col('query',column_offset);
$wpdb->get_results('query', output_type);
$wpdb->insert( $table, $data, $format );
$wpdb->update( $table, $data, $where, $format = null, $where_format = null );
$wpdb->prepare( 'query' [, value_parameter, value_parameter ... ] );
$wpdb->show_errors();
$wpdb->hide_errors();
$wpdb->print_error();
$wpdb->get_col_info('type', offset);
$wpdb->flush();

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程