使用Foreach从WordPress数据库循环数据

时间:2020-07-10 作者:Dominic

我正在尝试使用从WordPress数据库表中获取数据wpdb 并使用foreach语句循环它,以便将结果输出到select tag. 我创建了一个自定义WordPress模板,这使我能够利用wpdb 作用此查询$worktype =$wpdb->get_results( "SELECT * FROM cww_avid_worktype;", OBJECT ); 使用转储时工作正常print_r($worktype );, 它的返回数组来自表,因此意味着与数据库的连接正常。

下面的语句在纯PHP中运行良好。

ISSUE当我循环时$worktype 使用foreach,它不会输出任何结果或错误,我已经在wp config中打开了debug。Foreach Loop

<select name="worktype" id="worktype" class="form-control required" >
<?php
global $wpdb;
$worktype =$wpdb->get_results( "SELECT * FROM cww_avid_worktype;", OBJECT );
foreach ($worktype as $val) {
if ($val->idworkType == $post[\'worktype\']) {
echo \'<option selected="selected" id="\' . $val->idworkType . \'wt" value="\' . $val->idworkType . \'" title="\' . $val->amount_added . \'">\' . $val->name . \'</option>\';
}
else {
echo \'<option id="\' . $val->idworkType . \'wt" value="\' . $val->idworkType . \'" title="\' . $val->amount_added . \'">\' . $val->name . \'</option>\';
}
}
?>
</select>

1 个回复
SO网友:Dominic

我最终发现,在if语句中,我没有在实例上正确调用该方法if ($val->idworkType == $post[\'worktype\']). 我用过这个$post[\'worktype\'] 而不是这个$post->worktype.