我正在尝试使用新表中的短代码在WP前端中显示字段数据。
见表
在经历了许多资料和研究之后, 我似乎没有找到一种简单的方法来以文本(而非表)显示数据, 该文本包含在通过SELECT FROM WHERE在SQL查询中选择的特定字段内。
到目前为止, 我叫wpdb, 选择了该字段, 创建了一个循环并回显。但是没有结果显示。我也尝试使用print_r和implode, 但两者都也失败了。
<?php
function Initial_Brief(){ global $wpdb;
$results = $wpdb->prepare( "SELECT 'Initial_Brief'* FROM `Portal_100` WHERE Project_Title = 'Project 1'");
foreach ($results as $result)
echo $result['results'];
}
add_shortcode('Initial_Brief', 'Initial_Brief')
?>
提前谢谢了,
要分享这种逻辑(我发现它很强大), 就是使用短代码在网站上显示所有文本, 并通过创建更新特定字段的HTML表单从前端进行文本编辑。我将创建一个悬停在编辑器角色上的编辑图标, 单击以触发带有html表单的弹出窗口, 该表单调用一个函数来更新数据库中的特定字段。
#1
你缺少像这样调用get_results方法:
<?php
global $wpdb;
$id = 23;
$sql = $wpdb->prepare( "SELECT * FROM tablename WHERE id= %d", $id);
$results = $wpdb->get_results( $sql , ARRAY_A );
?>
使用prepare方法是准备SQL查询以安全执行(例如, 抢占SQL注入)的一种良好做法, 但是它尚未执行, 如果有要准备的查询, 它将返回经过清理的查询字符串。它也是查询方法的良好伴侣。
#2
经过几次迭代, 我终于使它起作用了!
我了解mySQL不接受带空格的输入吗?如何为多个单词或段落插入WHERE条件?
它使用以下脚本为我工作, 但我必须将WHERE值更改为整数。
<?php
add_shortcode('Initial_Brief', function(){
global $wpdb;
$sql = $wpdb->prepare("Select Value from `P100` WHERE `P100`.`id` = 1 ");
$results = $wpdb->get_results( $sql , ARRAY_A );
foreach ($results as $result) {
$display = implode(", ", $result);
echo $display;
});?>
评论前必须登录!
注册