<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>WPCMS.jp &#187; SQL</title>
	<atom:link href="http://wpcms.jp/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpcms.jp</link>
	<description>WordPressをCMSとした企業サイトやポータルサイト、Webサービス開発方法やTipsなど。 ファーストエレメントが運営する、WordPressに特化した技術系ブログ。</description>
	<lastBuildDate>Sat, 24 Dec 2011 15:54:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/tag/sql/feed/" />
		<item>
		<title>Google Chart APIで動的にグラフ生成</title>
		<link>http://wpcms.jp/199/</link>
		<comments>http://wpcms.jp/199/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 08:58:58 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[カスタマイズ/ハック]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[テーブル]]></category>
		<category><![CDATA[フォント]]></category>
		<category><![CDATA[文字化け]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/199/</guid>
		<description><![CDATA[WordPress内のデータをGoogle Chart APIで動的にグラフ作成。 ふと急にGoogle Chart APIを使ってみたくなり、WordPress内のデータを使って動的にGoogle Chart APIで [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WordPress</strong>内のデータを<strong>Google Chart API</strong>で動的にグラフ作成。</p>
<p>ふと急にGoogle Chart APIを使ってみたくなり、WordPress内のデータを使って動的にGoogle Chart APIでグラフを出力するテストをしてみた。</p>
<p>とりあえず、カテゴリごとの記事の割合をグラフにしてみる…こういう目的ならタグクラウドで十分な気もするけど、将来的に応用できそうなので、メモということで。</p>
<p>※先に言ってしまうと、Google Chart APIはまだ日本語対応が十分でなく、ひらがなとカタカナしか表示できません…しかもフォントも微妙。カテゴリースラッグにアルファベット入れてあれば下のコード内のnameの代わりにslagに差し替えて即使えます。</p>
<p><span id="more-199"></span><br />
　<br />
<img src="http://wpcms.jp/wp/wp-content/themes/wpcms/_images/chart-1.png" border="0" alt="Google Chart API" width="450" height="190" /><br />
※漢字が文字化け…<a href="http://groups.google.com/group/google-chart-api/browse_thread/thread/164582d016c9eb39/48971c461618faa3?lnk=gst&amp;q=character#48971c461618faa3" target="_blank">こちらの開発メンバーによるコメント</a>では「取り組んでるけど、簡単じゃないよ」とのことです。。。</p>
<p>【追記 2008-12-11】<br />
今は漢字に対応しているようですよ。試していませんが→<br />
<a href="http://www.revulo.com/blog/20080713.html" target="_blank">Google Chart API で漢字を含む日本語が通るようになった</a>  れぶろぐ</p>
<p><span style="text-decoration: line-through;">ということで日本語はまだ使えないですが、</span>以下解説。</p>
<p>■やっていること：<br />
Google Chart APIは、imgタグのsrcにパラメータ付きのURLを埋め込んでやるだけで簡単にグラフ画像を取得できます（ユーザー登録など不要）。なので、そのURLのパラメータをつくってあげます。カテゴリごとの記事数を取得して、記事の総数に対するパーセンテージを割り出し、APIの書式に従って出力します。</p>
<p>■ソース：<br />
ver.2.3以上（2.5で確認）</p>
<div class="code">＜?php<br />
global $wpdb; </p>
<p><span style="color:#FF9800;">//記事の総数を取得のため</span><br />
$allposts = new WP_Query(&#8220;showposts=-1&#8243;);</p>
<p>$sql = &#8220;SELECT * FROM &#8221; .$wpdb-&gt;terms .&#8221; t &#8220;;<br />
$sql.= &#8221; LEFT JOIN &#8220;.$wpdb-&gt;term_taxonomy .&#8221; tt ON t.term_id = tt.term_id &#8220;;<br />
$sql.= &#8221; WHERE tt.taxonomy != &#8216;link_category&#8217; &#8220;;<br />
$sql.= &#8221; GROUP BY t.term_id &#8220;;<br />
$sql.= &#8221; ORDER BY tt.count DESC &#8220;;<br />
$mycat = $wpdb-&gt;get_results($sql);</p>
<p><span style="color:#FF9800;">//カテゴリごとの記事数のパーセンテージを記事総数から割り出してカンマ区切りで並べる。<br />
//同時に、対応するカテゴリ名を「|」区切りで並べる。<br />
//カウントが0のカテゴリは拾わない。</span><br />
for($i = 0; $i &lt; count($mycat); $i++){<br />
if ( $mycat[$i]-&gt;count != 0 ){<br />
if ($i != 0 ){<br />
$count = $count .&#8221;,&#8221;;<br />
$cat_list = $cat_list .&#8221;%7C&#8221;;<br />
}<br />
<span style="color:#FF9800;">//post_countで記事総数を取得</span><br />
$count = $count .round($mycat[$i]-&gt;count / $allposts-&gt;post_count *100 );<br />
$cat_list = $cat_list .$mycat[$i]-&gt;name;<br />
}<br />
}</p>
<p>$url =&#8221;＜img src=&#8217;http://chart.apis.google.com/chart?&#8221;;<br />
$url.=&#8221;cht=p&#8221;;<br />
$url.=&#8221;&amp;chtt=Google%20Chart%20TEST&#8221;;<br />
$url.=&#8221;&amp;chs=450&#215;190&#8243;;<br />
$url.=&#8221;&amp;chd=t:&#8221; . $count; <span style="color:#FF9800;">// ←カテゴリごとのパーセンテージを挿入</span><br />
$url.=&#8221;&amp;chco=0000ff&#8221;;<br />
$url.=&#8221;&amp;chl=&#8221; .$cat_list; <span style="color:#FF9800;">// ←それぞれのカテゴリ名をラベルとして挿入</span><br />
$url.=&#8221;&#8216; alt=&#8217;Google Chart TEST&#8217; /＞&#8221;;</p>
<p>echo $url;</p>
<p>?＞</p></div>
<p>■ver2.2以前（ME2.2.3で動作確認）※テーブル構造が違うため</p>
<div class="code">＜?php<br />
global $wpdb; </p>
<p><span style="color:#FF9800;">//記事の総数を取得のため</span><br />
$allposts = new WP_Query(&#8220;showposts=-1&#8243;);</p>
<p>$sql = &#8220;SELECT * FROM &#8221; .$wpdb-&gt;categories;<br />
$sql.= &#8221; ORDER BY category_count DESC &#8220;;<br />
$mycat = $wpdb-&gt;get_results($sql);</p>
<p><span style="color:#FF9800;">//カテゴリごとの記事数のパーセンテージを記事総数から割り出してカンマ区切りで並べる。<br />
//同時に、対応するカテゴリ名を「|」区切りで並べる。<br />
//カウントが0のカテゴリは拾わない。</span><br />
for($i = 0; $i &lt; count($mycat); $i++){<br />
if ($mycat[$i]-&gt;category_count != 0){<br />
if ($i != 0 ){<br />
$count = $count .&#8221;,&#8221;;<br />
$cat_list = $cat_list .&#8221;%7C&#8221;;<br />
}<br />
<span style="color:#FF9800;">//post_countで記事総数を取得</span><br />
$count = $count .round($mycat[$i]-&gt;category_count / $allposts-&gt;post_count *100 );<br />
$cat_list = $cat_list .$mycat[$i]-&gt;cat_name;<br />
}<br />
}</p>
<p>$url =&#8221;＜img src=&#8217;http://chart.apis.google.com/chart?&#8221;;<br />
$url.=&#8221;cht=p&#8221;;<br />
$url.=&#8221;&amp;chtt=Google%20Chart%20TEST&#8221;;<br />
$url.=&#8221;&amp;chs=450&#215;190&#8243;;<br />
$url.=&#8221;&amp;chd=t:&#8221; . $count; <span style="color:#FF9800;">// ←カテゴリごとのパーセンテージを挿入</span><br />
$url.=&#8221;&amp;chco=0000ff&#8221;;<br />
$url.=&#8221;&amp;chl=&#8221; .$cat_list;  <span style="color:#FF9800;">// ←それぞれのカテゴリ名をラベルとして挿入</span><br />
$url.=&#8221;&#8216; alt=&#8217;Google Chart TEST&#8217; /＞&#8221;;</p>
<p>echo $url;</p>
<p>?＞</p></div>
<p>以上</p>
<p>■結果：<br />
出力した結果は先の図…文字化けしています。カテゴリごとの記事のパーセンテージが円グラフになり、それぞれに対応するカテゴリ名がラベルとして出力されます。グラフの形や色などパラメータについてはこちらの<a href="http://code.google.com/apis/chart/" target="_blank">Developer&#8217;s guide</a>にいろいろ解説されています。</p>
<p>カスタムフィールドに設定した値を集計してあげれば、いろいろ応用できそうですね。ページごとのアクセス数の推移などもプラグインを併用すれば比較的簡単にグラフ化できそうです。そしてログインしたクライアントにのみ表示する、など。</p>
<p>参考記事）<br />
<a href="http://www.mattcutts.com/blog/pacman-graph-in-google-chart-api/" target="_blank">Google Hacks: Pacman graph with Google Charts</a> Matt Cutts: Gadgets, Google, and SEO (2008/4/24)<br />
<a href="http://blog.livedoor.jp/dankogai/archives/50963768.html" target="_blank">WEB API &#8211; Google Code Chart キター</a> 404 Blog Not Found (2007/12/7)</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/199/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/199/" />
	</item>
		<item>
		<title>ウィジェット</title>
		<link>http://wpcms.jp/180/</link>
		<comments>http://wpcms.jp/180/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 09:00:37 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[プラグイン/ウィジェット]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[ウィジェット]]></category>
		<category><![CDATA[サイドバー]]></category>
		<category><![CDATA[バナー広告]]></category>
		<category><![CDATA[ポータルサイト]]></category>
		<category><![CDATA[レイアウト]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/180/</guid>
		<description><![CDATA[ようやくWordPressの「ウィジェット」機能を使用し始めました。 ウィジェットとは、サイドバーの項目を並び順もその中身も管理画面から簡単に変更することができる機能です。Ajaxを使用してドラッグ＆ドロップで直感的に並 [...]]]></description>
			<content:encoded><![CDATA[<p>ようやく<strong>WordPress</strong>の「<strong>ウィジェット</strong>」機能を使用し始めました。</p>
<p><a href="http://wpcms.jp/wp/wp-content/themes/wpcms/_images/widget_01.png" target="_blank"><img src="http://wpcms.jp/wp/wp-content/themes/wpcms/_images/widget_01-thumbnail2.png" width="250" height="221" border="0" align="left" alt="widget_01.png" /></a>ウィジェットとは、サイドバーの項目を並び順もその中身も管理画面から簡単に変更することができる機能です。Ajaxを使用してドラッグ＆ドロップで直感的に並べ替えできます。ver.2.2以降のWordPressでは標準機能となっています。また2.0、2.1もプラグインを入れることで対応させることができます。</p>
<p>■ウィジェット機能のプラグインをダウンロード（2.2以降は不要）</p>
<p><a href="http://automattic.com/code/widgets/" target="_blank">Widgets Plugin Downloads</a> Automattic, Inc.<br />
<br clear="all"></p>
<p><span id="more-180"></span><br />
さて。WordPressを<strong>CMS</strong>としてサイト構築に使用する際、単に最新コメントやカテゴリやアーカイブを張り込めるだけでは意味がありません。また、すべてのウィジェットが１つのサイドバーに詰め込まれるようでは、ポータルサイトのようなコンテンツが豊富なCMS的利用の場合には、レイアウトに無理が生じる。</p>
<p>最初の、ウィジェットとして設定できる内容については、標準で用意されている基本的なもののほか、プラグイン同様、世界中でつくられて配布されています。なにより自由項目ともいうべき「テキスト」ウィジェットがあるので、アフィリエイトや固定バナーなどはこれが使える。Googleアドセンスを放り込んで動作を確認しました。</p>
<p>ただ、CMSとして使用する場合は「ウィジェット内でPHPを実行できる」もしくは「ウィジェットが簡単につくれる」と利用価値がいっきに高まります。これができれば、今までテンプレートの中に書き込んでいたクエリやSQLをウィジェットの中に放り込んで実行し、場合に応じて簡単にセクションの並び替えが簡単にできる…たとえコードが読めないクライアントの担当者であっても。</p>
<p>PHPの実行は、従来から「runPHP」「ExecPHP」というプラグインにより投稿画面内でPHPを使えたので、ウィジェット紹介サイトで探すとすぐに見つかりました。</p>
<p>■ウィジェット紹介サイト：<br />
<a href="http://widgets.wordpress.com/" target="_blank">WordPress Widgets</a><br />
<a href="http://codex.wordpress.org/Plugins/WordPress_Widgets" target="_blank">List of Widgets</a></p>
<p>■PHPを実行できるウィジェット「ExecPHP」：<br />
<a href="http://ottodestruct.com/blog/2006/04/09/fun-with-widgets/" target="_blank">Fun with Widgets</a> Nothing to see here</p>
<p>ウィジェットをダウンロードしたら、プラグインと同じディレクトリにFTPでアップロードして、プラグイン管理画面で「有効化」するだけです。表示＞ウィジェットに移動すると、ページ下部「利用できるウィジェット」に「PHP Code 1」というウィジェットが追加されているはずです。</p>
<p>２番目に挙げた、ウィジェットのセクション数については、幸い複数のウィジェットグループを２つ以上のセクションで使えるようです。<a href="http://automattic.com/code/widgets/themes/" target="_blank">register_sidebar() の代わりに register_sidebars(数字または名称) とするだけ</a>のようです。あとでソースを見てみよう。</p>
<p>WordPressに標準でついてくるテーマ（テンプレート）はウィジェットが使えるサイドバーが１個だけですが、設定が簡単なようなのでウィジェットに対応したダブルサイドバーのテーマもきっとたくさん配布されているでしょう。</p>
<p>&#8212;</p>
<p>続いて次回、「<strong>ウィジェットでバナー広告管理</strong>（掲載期限付き）」の設定例を紹介します。</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/180/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/180/" />
	</item>
		<item>
		<title>WordPress カテゴリ別RSSフィードを生成</title>
		<link>http://wpcms.jp/172/</link>
		<comments>http://wpcms.jp/172/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 16:26:12 +0000</pubDate>
		<dc:creator>みやざわ</dc:creator>
				<category><![CDATA[運営Tips/注意点]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[サイドバー]]></category>
		<category><![CDATA[データベース]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[運営]]></category>

		<guid isPermaLink="false">https://sv69.xserver.jp/~fe01/wordpress4cms.net/172/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p>このブログのアクセスログを見てると、検索キーワードとして<br />
『<strong>WordPress カテゴリ別 RSS</strong>』<br />
というような検索が結構ありますが、これはWordPressに標準で備わっています。<br />
いたって簡単。<br />
カテゴリURLのうしろに、それぞれ下記の表記を足してやれば良いです。<br />
カテゴリだけでなくタグも同様。プラグインなどは要らない。</p>
<p>「RSS 2.0」の場合<br />
feed/<br />
「RSS 0.92」の場合<br />
feed/rss/<br />
「Atom 0.3」の場合<br />
feed/atom/</p>
<p>例）求人サイト「<a href="http://4510m.in/" target="_blank">シゴトの森</a>」、カテゴリ＝東京都のAtom</p>
<p>http://4510m.in/category/地域/東京都/feed/atom/</p>
<p>&#8212;<br />
１つのサイトを複数のWPを使って運営している場合、これらRSSフィードを「<a href="http://www.iconophobia.com/wordpress/?page_id=55" target="_blank">InlineRSS</a>」などのプラグインを使ってそれぞれのサイドバーなどに呼び出してやれば、シームレスに見せることができますね、簡単に。（もちろんダイレクトにSQLでデータベースから呼び出しても良いです）</p>
]]></content:encoded>
			<wfw:commentRss>http://wpcms.jp/172/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://wpcms.jp/172/" />
	</item>
	</channel>
</rss>

