This commit is contained in:
Mr Chen
2024-02-06 22:06:26 +08:00
parent 376d09a955
commit f10160c239
3 changed files with 136 additions and 41 deletions
+25 -5
View File
@@ -179,21 +179,27 @@ class nosqlMySQLCtr():
args_where = {}
where_sql = ''
if 'where' in args:
args_where = args['where']
if 'field' in args_where:
if args_where['field'] == 'id' or args_where['field'].find('id')>-1:
where_sql = ' where '+args_where['field'] + " = '"+args_where['value']+"' "
else:
where_sql = ' where '+args_where['field'] + " like '%"+args_where['value']+"%' "
my_instance = self.getInstanceBySid(sid).conn()
if my_instance is False:
return mw.returnData(False,'无法链接')
my_instance.setDbName(db)
sql = 'select count(*) as num from ' + table
sql = 'select count(*) as num from ' + table + where_sql
# print(sql)
count_result = my_instance.query(sql)
count = count_result[0]['num']
sql = 'select * from ' + table + ' limit '+str(start_index)+',10';
sql = 'select * from ' + table + where_sql + ' limit '+str(start_index)+',10';
# print(sql)
result = my_instance.query(sql)
# print(result)
@@ -212,10 +218,20 @@ class nosqlMySQLCtr():
rdata['soso_field'] = ''
if 'field' in args_where:
rdata['soso_field'] = args_where['field']
return mw.returnData(True,'ok', rdata)
def showProcessList(self,args):
sql = 'show processlist';
sid = args['sid']
my_instance = self.getInstanceBySid(sid).conn()
if my_instance is False:
return mw.returnData(False,'无法链接')
result = my_instance.query(sql)
rdata = {}
rdata['list'] = result
return mw.returnData(True,'ok', rdata)
# ---------------------------------- run ----------------------------------
# 获取 mysql 列表
@@ -232,6 +248,10 @@ def get_data_list(args):
t = nosqlMySQLCtr()
return t.getDataList(args)
def get_proccess_list(args):
t = nosqlMySQLCtr()
return t.showProcessList(args)
# 测试
def test(args):
sid = args['sid']
+19 -3
View File
@@ -5,7 +5,7 @@
<div class="tabs-item active" data-name="redis">Redis</div>
<div class="tabs-item" data-name="mongodb">Mongodb</div>
<div class="tabs-item" data-name="memcached">Memcached</div>
<!-- <div class="tabs-item" data-name="mysql">MySQL</div> -->
<div class="tabs-item" data-name="mysql">MySQL</div>
</div>
</div>
@@ -59,7 +59,7 @@
</div>
<div style="position: relative;">
<div id="mysql_table" class="mongodb_table divtable mtb10">
<div id="mysql_table" class="mysql_table divtable mtb10">
<table class="table table-hover">
<thead style="position: relative;z-index: 1;">
<tr>
@@ -79,7 +79,7 @@
</div>
<div class="col-md-3" style="padding-left: 3px;">
<div id="mysql_list_tab" style="padding-top:10px;">
<div id="mysql_list_tab" style="padding-top:0px;">
<div class="tab-nav">
<span data-id="0" class="on">进程</span>
<span data-id="1" class="">变量</span>
@@ -87,6 +87,22 @@
<span data-id="3" class="">统计</span>
</div>
</div>
<div style="position: relative;">
<div id="mysql_ot_table" class="divtable mtb10" style="margin-top: 8px;">
<table class="table table-hover">
<thead style="position: relative;z-index: 1;">
<tr>
<th><span>编号</span></th>
<th><span>操作类型</span></th>
<th><span>详情</span></th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
+92 -33
View File
@@ -224,6 +224,7 @@ function initTabMemcached(){
function initTabMySQL(){
mysqlGetDbList();
mysqlProcessList();
}
// ------------------------- mysql start -------------------------------
@@ -259,7 +260,7 @@ function mysqlInitField(f, data){
layer.msg('搜索不能为空!',{icon:7});
return;
}
mysqlDataList(1);
mysqlGetDataList(1);
});
}
@@ -326,41 +327,99 @@ function mysqlGetDataList(p){
var sid = mysqlGetSid();
var db = mysqlGetDbName();
var table = mysqlGetTableName();
myPostCB('get_data_list',{'sid':sid,'db':db,'table':table,'p':p} ,function(rdata){
var mysql_field = $('select[name="mysql_field_key"]').val();
var mysql_value = $('input[name="mysql_field_value"]').val();
var request_data = {
'sid':sid,
'db':db,
'table':table,
'p':p
};
if (mysql_field != '0'){
request_data['where'] = {
field : mysql_field,
value : mysql_value
};
} else {
request_data['where'] = {};
}
// console.log(request_data);
myPostCB('get_data_list',request_data ,function(rdata){
if (rdata.data.status){
var data = rdata.data.data;
var dlist = data['list'];
if (rdata.data.status){
var data = rdata.data.data;
var dlist = data['list'];
var fields = mongodbGetDataFields(dlist);
if (fields.length != 0 ){
mysqlInitField(fields,data);
}
var header_field = '';
for (var i =0 ; i<fields.length ; i++) {
header_field += '<th>'+fields[i]+'</th>';
}
$('#mysql_table thead tr').html(header_field);
var tbody = '';
for (var i = 0; i < dlist.length; i++) {
tbody += '<tr>';
for (var j = 0; j < fields.length; j++) {
var f = fields[j];
if (f in dlist[i]) {
tbody += '<td style="word-wrap:break-word;word-break:break-all;">'+dlist[i][f]+'</td>';
} else {
tbody += '<td>undefined</td>';
}
}
tbody += '</tr>';
}
$('#mysql_table tbody').html(tbody);
$('#mysql .mysql_list_page').html(data.page);
var fields = mongodbGetDataFields(dlist);
if (fields.length != 0 ){
mysqlInitField(fields,data);
}
var header_field = '';
for (var i =0 ; i<fields.length ; i++) {
header_field += '<th>'+fields[i]+'</th>';
}
$('#mysql_table thead tr').html(header_field);
var tbody = '';
for (var i = 0; i < dlist.length; i++) {
tbody += '<tr>';
for (var j = 0; j < fields.length; j++) {
var f = fields[j];
if (f in dlist[i]) {
tbody += '<td style="word-wrap:break-word;word-break:break-all;">'+dlist[i][f]+'</td>';
} else {
tbody += '<td>undefined</td>';
}
}
tbody += '</tr>';
}
$('#mysql_table tbody').html(tbody);
$('#mysql .mysql_list_page').html(data.page);
}
//
});
}
function mysqlProcessList(){
var sid = mysqlGetSid();
var request_data = {};
request_data['sid'] = sid;
myPostCB('get_proccess_list',request_data ,function(rdata){
console.log(rdata);
if (rdata.data.status){
var data = rdata.data.data;
var dlist = data['list'];
var fields = mongodbGetDataFields(dlist);
var header_field = '';
for (var i =0 ; i<fields.length ; i++) {
header_field += '<th>'+fields[i]+'</th>';
}
$('#mysql_ot_table thead tr').html(header_field);
var tbody = '';
for (var i = 0; i < dlist.length; i++) {
tbody += '<tr>';
for (var j = 0; j < fields.length; j++) {
var f = fields[j];
if (f in dlist[i]) {
tbody += '<td style="word-wrap:break-word;word-break:break-all;">'+dlist[i][f]+'</td>';
} else {
tbody += '<td>undefined</td>';
}
}
tbody += '</tr>';
}
$('#mysql_ot_table tbody').html(tbody);
}
});
}