首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WordPress中显示来自SQL数据库的数据

在WordPress中显示来自SQL数据库的数据
EN

Stack Overflow用户
提问于 2018-11-20 20:47:53
回答 2查看 2.2K关注 0票数 1

我是WordPress的新手,所以我需要将一些数据从数据库显示到WordPress php页面。

我将这段代码添加到我的functions.php中(在我安装的主题中)

代码语言:javascript
复制
function ws_count_completed_courses() {
$ws_current_user = get_current_user_id();
global $wpdb;

//Count completed courses for logged user.
$ws_completed_courses = $wpdb->get_results("SELECT COUNT(item_id) FROM 
$wpdb->user_items WHERE status = 'completed' AND used_id = 
$ws_current_user");
}

在此之后,我在dashboard.php中添加了下一个代码..。

代码语言:javascript
复制
<p>The user has been finished <?php echo $ws_completed_courses ; ?> courses</p>

但是我只在网站上看到用户已经完成了课程

我的错误在哪里,如何解决问题?

谢谢!

更新21-11月18日

function.php

代码语言:javascript
复制
function ws_count_completed_courses() {
$ws_current_user = get_current_user_id();
var_dump($ws_current_user);
global $wpdb;    

$ws_completed_courses = $wpdb->get_results( "SELECT COUNT(item_id) FROM 
$wpdb->user_items WHERE status = 'completed' AND user_id = 
$ws_current_user" );

foreach ($ws_completed_courses as $course) {
$completedCourseCount = $course->user_item_id;
}
return $completedCourseCount;   
}

dashboard.php

代码语言:javascript
复制
<p>The user has been finished <?php echo ws_count_completed_courses(); ?> courses</p>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-20 22:16:57

您可以搜索$wpdb教程;但是,这里有一个概念概述,可以帮助您入门:

  1. 从SQL提示符中,确保查询工作正常。然后找出如何调整SQL以使用PHP代码中的程序变量。
  2. 查看从查询中获得的结构:var_dump($ws_current_user);
  3. 从返回的结构中提取数据的方法很多,但最常见的方法如下: foreach ($ws_completed_courses as $course) { $completedCourseCount = $course->colum_you_want; }
  4. 返回函数中作为最后一行提取的值: return $completedCourseCount;
  5. 按如下方式调用函数: echo ws_count_completed_courses();
票数 0
EN

Stack Overflow用户

发布于 2018-11-20 22:22:15

结果返回一个数组或一个对象。试试看其中一个:

代码语言:javascript
复制
echo $ws_completed_courses['COUNT(item_id)'];
echo $ws_completed_courses->COUNT(item_id);

编辑:好的,试试这个:

代码语言:javascript
复制
function ws_count_completed_courses() {
 $ws_current_user = get_current_user_id();
 global $wpdb;    

 $ws_completed_courses = $wpdb->get_results( "SELECT COUNT(item_id) as user_item_id FROM $wpdb->user_items WHERE status = 'completed' AND user_id = $ws_current_user" );

 foreach ($ws_completed_courses as $course) {
   $completedCourseCount = $course->user_item_id;
 }
return $completedCourseCount;   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53401268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档