我正在尝试在Wordpress(wp简码)中的PHP代码段中用逗号分隔结果。
问题在于只有最后一条记录是从数据库中提取的。
datescanned host
2019-03-01 10.1.1.1
2019-03-01 10.1.1.2
2019-03-01 10.1.1.3
我希望我的输出是:
10.1.1.1、10.1.1.2、10.1.1.3
我的原始代码是:
function get_sss1_last_scannedip() {
global $wpdb;
$current_user = wp_get_current_user();
$result = $wpdb->get_var("SELECT host FROM bitnami_wordpress.sss1_latest WHERE CLIENT ='$current_user->user_login'");
print_r('<div style="color:#fff;text-align:left;font-weight:500;font-size:12px">Target: ' . $result . '</div>');
}
add_shortcode('sss1_last_scannedip', 'get_sss1_last_scannedip');
这只会得到最后的结果...
搜索此网站后 How to get the result separated by ,?
我想出了这段代码,但仍然无法正常工作
function get_sss1_last_scannedip() {
global $wpdb;
$current_user = wp_get_current_user();
$output = array();
foreach ($output as $result)
$output[] = $result = $wpdb->get_var("SELECT host FROM bitnami_wordpress.sss1_latest WHERE CLIENT ='$current_user->user_login'");
echo implode(',', $output);
print_r('<div style="color:#fff;text-align:left;font-weight:500;font-size:12px">Target: ' . $output . '</div>');
}
add_shortcode('sss1_last_scannedip', 'get_sss1_last_scannedip');
任何帮助将不胜感激!
**更新**
我更改了以下行,现在我得到了所有结果!但是,我也得到了所有重复的:(
$result = $wpdb->get_var("SELECT GROUP_CONCAT(host) as Host FROM bitnami_wordpress.sss1_latest WHERE CLIENT ='$current_user->user_login' order by host group by host");
如何只出现一次相同字段值?
现在我得到了:
10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.11,10.211.105.24,10.211.105.11 ,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24 .105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24.10.211.105.24 ,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.24,10.211.105.25,10.211.105.26,10.211.105.27,192.168.211.131,192.168 .211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131 ,192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.168.211.131、192.1 68.211.131,192.168.211.131,
10.211.105.11多次出现,我只想一次。
我认为GROUP BY主机就足够了。..
... AND host = ( SELECT max(host) FROM bitnami_wordpress.sss1_latest )");
以上行没有返回任何内容...
帮助!
关于, 娜塔莉(Nathalie)
答案 0 :(得分:0)
当尝试使用逗号作为分隔符将其插入时,应添加逗号作为分隔符。
"terminate_after":10
答案 1 :(得分:0)
我通过将DICTINCT添加到group_concat找到了解决方案
$result = $wpdb->get_var("SELECT GROUP_CONCAT(DISTINCT host) as host FROM bitnami_wordpress.sss1_latest WHERE CLIENT ='$current_user->user_login'");