我使用php“select(sql)”在select2中得到一个空结果
我想用wordpress页面中的select 2进行搜索,我只想在私有页面中获得结果,我得到了一个正确的数字14 li,这是我数据库中的数字,但li foreach是空的为什么我使用php“select(sql)”在select2中得到一个空结果,php,sql,wordpress,jquery-select2,Php,Sql,Wordpress,Jquery Select2,我想用wordpress页面中的select 2进行搜索,我只想在私有页面中获得结果,我得到了一个正确的数字14 li,这是我数据库中的数字,但li foreach是空的为什么 $post_id = $wpdb->get_results("SELECT `ID`,`post_title` FROM $wpdb->posts WHERE `post_type` = 'page' and `post_status` = 'private'"); ?> <div class=
$post_id = $wpdb->get_results("SELECT `ID`,`post_title` FROM $wpdb->posts WHERE `post_type` = 'page' and `post_status` = 'private'");
?>
<div class="form-group">
<label class="col-md-3 control-label" for="service"><?php echo $lang['department']; ?> *</label>
<div class="col-md-8">
<select name="services[]" id="service" class="form-control select2-multiple" multiple>
<?php if ( !empty( $post_id ) ) {
foreach ( $post_id as $r ) {
?>
<option value="<?php echo $post_id['ID']?>"><?php $post_id['post_title']?></option>
<?php
}
}
?>
</select>
</div>
</div>
<script>
jQuery(document).ready(function() {
jQuery('#service').select2();
});
</script>
$wpdb->get_results在默认情况下返回对象,在foreach循环中,您应该从$r变量而不是$post_id获取值。它应该是$r->id,$r->post_title您可以在标记中跳过echo使用echo$post_id['post_title'];数字的拼写错误我这样做了,但是使用了错误的方法,$r['ID'],但是现在我使用$r->ID,这解决了我的问题,谢谢你:D