mySQL ORDER BY AS工作,DESC没有

时间:2010-05-07 03:39:57

标签: php mysql wordpress sql-order-by

我通过在论坛中查询特定论坛板上最新视频的列表并将其显示在Wordpress主页上,将SMF“集成”到Wordpress中。但是,当我添加ORDER BY子句时,查询(我在同一页的其他部分成功测试)会中断。

为了添加混音,我使用Auto Embed插件允许在主页上播放视频,以及使用jCarousel功能旋转它们。人们很友好地帮助我上次使用正则表达式来过滤视频网址,我希望这次能有同样的运气!

这是整个函数(删除DESC并且它可以工作......):

function SMF_getRecentVids($limit=10){
global $smf_settingsphp_d;

if(file_exists($smf_settingsphp_d)) include($smf_settingsphp_d);

include "AutoEmbed-1.4/AutoEmbed.class.php";
$AE = new AutoEmbed();
$connect = new wpdb($db_user,$db_passwd,$db_name,$db_server);
$connect->query("SET NAMES 'UTF8'");

$sql = "SELECT m.subject, m.ID_MSG, m.body, m.ID_TOPIC, m.ID_BOARD, t.ID_FIRST_MSG
FROM {$db_prefix}messages AS m
LEFT JOIN {$db_prefix}topics AS t ON (m.ID_TOPIC = t.ID_TOPIC)
WHERE (m.ID_BOARD = 8)
ORDER BY t.ID_FIRST_MSG DESC";

$vids = $connect->get_results($sql);

$c = 0;
$content = "imageCarousel_itemList = [";
foreach ($vids as $vid) {
    if ($c > $limit) continue;
    //extract video code from body
    $input = $vid->body;
    $regexp = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i";
    if(preg_match_all($regexp, $input, $matches)) { 
        $AE->parseUrl($matches[0][0]);
        $imageURL = $AE->getImageURL();
        $AE->setWidth(290);
        $AE->setHeight(240);            
        $content .= "{url: '".$AE->getEmbedCode()."', title: '".$vid->subject."', caption: '', description: ''},";                      
    }
    $c++;
}
$content .= "]";
echo $content;

$wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);   

}

4 个答案:

答案 0 :(得分:1)

$sql = SELECT

我认为你错过了开场双引号。

答案 1 :(得分:0)

是的,这可能是您的问题,请像这样使用

$sql = "SELECT m.subject, m.ID_MSG, m.body, m.ID_TOPIC, m.ID_BOARD, t.ID_FIRST_MSG
FROM {$db_prefix}messages AS m
LEFT JOIN {$db_prefix}topics AS t ON (m.ID_TOPIC = t.ID_TOPIC)
WHERE (m.ID_BOARD = 8)
ORDER BY t.ID_FIRST_MSG DESC";

答案 2 :(得分:0)

原来这不是查询,而是结果。我没有逃脱撇号。更新了addslashes()来解决问题:

$content .= "{url: '".$AE->getEmbedCode()."', title: '".addslashes($vid->subject)."', caption: '', description: ''}";

上床睡觉。感谢您的快速回复!

答案 3 :(得分:0)

将SMF整合到Wordpress中有一个插件可以帮助你做到这一点:WP-Forum

搜索名为WP-Forum的插件并从那里安装。

以下是网站http://www.fahlstad.se及其示例论坛http://www.fahlstad.se/wp-forum/

安装插件后,有一个小技巧,转到你的filezilla /文件管理器,浏览到wp-content / plugins并将wpforum重命名为wp-forum,然后启用插件,否则你将得到一个错误消息

希望有所帮助