.





2006/05/22
UNIONのワナ
カテゴリ : XOOPSメモ
執筆者: itoh (2:15 pm)
XOOPSでいくつかのテーブルから共通のデータみたいに抜き出したい場合。

たとえば、ニュースモジュールとうぇブログモジュールとワードプレスモジュールから「最近の記事一覧を抜きたい!」という場合。

こんなSQLを考えました。
SELECT "weblog" AS dirname, blog_id AS id, "blog_id" AS id_str, title AS title, contents AS content, created AS created, "details.php" AS link
FROM xoops_weblog
uni-on SELECT "wordpress" AS dirname, ID AS id, "id" AS id_str, post_title AS title, post_content AS content, unix_timestamp( post_date ) AS created, "index.php" AS link
FROM xoops_wp_posts
uni-on SELECT "article" AS dirname, storyid AS id, "storyid" AS id_str, title AS title, home_text AS content, created AS created, "article.php" AS link
FROM xoops_story
ORDER BY created DESC
LIMIT 10
OFFSET 0 

しかし、これをやると、uni-onで定数とした部分。は、"weblog"の6文字で切り落とされてしまいます。

つまり、wordpressと出て欲しいディレクトリ名がwordprまでしか出てきません。これは困ります。


ということで、その場しのぎ的に、定数の部分は
<?php
'dirname' => sprintf('"%20s"', "wordpress"),
?>

とかしてみました。ただし、データをFetchした後に、空白は取り除く必要があります。SQL側で良い対応方法がありそうですが。
itohさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (2293)
トラックバックURL


 





メインメニュー

Google Adsense

XoopsCube Ring
Amethyst Blue - BULLETIN


カテゴリ一覧
うぇブログ カレンダー


.