从数据库自定义表填充下拉WordPress表单

时间:2016-12-31 作者:Joan Pescador

尝试使用php目录中php文件中SQL查询的数据填充word press页面中html表单的下拉元素:site/php/.

Php code is working fine:

<人力资源>
<?php
require_once "connectPDO.php";
define(\'WP_USE_THEMES\', false);
require(\'../wp-load.php\');
require_once(\'../wp-config.php\');
require_once(\'../wp-includes/wp-db.php\');
require_once(\'../wp-includes/pluggable.php\');
require(\'../wp-blog-header.php\');

if ( is_user_logged_in() ) {
    global $current_user;
    get_currentuserinfo();
    $user = $current_user->ID;
} else {
    echo \'<a href="\'. get_bloginfo(\'url\') .\'/wp-admin" class="loginlinktop">Login</a>\';
}

global $wpdb;
$results = $wpdb->get_results("SELECT my-column FROM wp_table WHERE user_id = ."\'$user\'".");
if($results){
    foreach($results as $value){
        echo serialize ($value);
    }   

}
?>
在wordpress页面中,我使用execPHP插件和以下说明:

<?php require_once(ABSPATH. \'/php/phpfile.php\'); ?>
我只是得到一张空白页。1如何在word press上获得结果?

2从序列化数组填充下拉列表的代码示例?

谢谢这件事我已经谈了一个多星期了。

2 个回复
最合适的回答,由SO网友:Joan Pescador 整理而成

谢谢大家的回答。你给我带来了价值线索。最后,我选择使用wordpress sintax直接从wordpress页面查询默认的wordpress表,使用了一个小技巧:在wp includes/wp db中包含我的自定义表。php。

wordpress代码:

<?php
global $current_user;
get_currentuserinfo();
$user = $current_user->ID;
global $wpdb;
global $result;
$courses = array();
$result = $wpdb->get_results ( "SELECT * FROM $wpdb->mytable WHERE user_id = $user" );
?>
name
<select>
  <option selected="selected">name</option>
  <?php
  foreach( $result as $value ) { ?>
    <option value="<?php echo $value->name; ?>"><?php echo $value->name; ?></option>
  <?php
  }
?>
</select>

SO网友:Vitzkrieg

我会先检查一下$value 不为空。还有,打电话会更有意义吗unserialize($value); 这里是因为您正在从数据库中提取数据,而不是存储它?

填充下拉列表的代码示例:

<select class="dropdown" id="mydropdown" name="mydropdown" title="My Dropdown">
    <?php
    foreach ($results as $value) {
            echo \'<option value="\' . unserialize($value) . \'">\' . unserialize($value) . \'</option>\';
    }
    ?>
</select>