<?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/"
	>

<channel>
	<title>GoodUse &#187; mysql</title>
	<atom:link href="http://g.azucar.jp/category/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://g.azucar.jp</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 09 Sep 2010 00:50:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>wordPressデータベースにアクセスする</title>
		<link>http://g.azucar.jp/wordpress%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e3%81%ab%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b</link>
		<comments>http://g.azucar.jp/wordpress%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e3%81%ab%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b#comments</comments>
		<pubDate>Mon, 01 Feb 2010 05:30:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[wordPress]]></category>

		<guid isPermaLink="false">http://g.azucar.jp/wordpress%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e3%81%ab%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b</guid>
		<description><![CDATA[データベースの構造
は以下を参照
http://codex.wordpress.org/Database_Description
＊直接アクセスする場合は、バージョンアップによる、データベース構造の変更を要注意
SELECT文を実行する

テーブル名は使用せず、wpbpオブジェクトのプロパティを使用する
通常はget_resultsメソッドを使用する

$wpdb-&#62;get_results(SELECT文)

一行のみ読み込みたい場合はget_rowメソッドを使用する
フォームから入れられたデータを使用する場合は、prepareメソッドを使う

$user = $wpdb-&#62;get_results($wpdb-&#62;prepare(&#34;SELECT * FROM $wpdb-&#62;users WHERE user_login = %s&#34;,$username));       *%sは入力された文字列、数字の場合は%d



例
最新公開投稿１０件
$posts = $wpdb-&#62;get_results(&#34;SELECT * FROM $wpdb-&#62;posts WHERE post_type = &#8216;post&#8217; AND post_status = &#8216;piblish&#8217; ORDER BY post_date DESC limit 10&#34;);

最近90日間でコメントが多くついた投稿ベスト10
&#60;?php     &#160;&#160;&#160; // 集計期間を得る      &#160;&#160;&#160; $to = time();    [...]]]></description>
			<content:encoded><![CDATA[<h2>データベースの構造</h2>
<p>は以下を参照</p>
<p><a title="http://codex.wordpress.org/Database_Description" href="http://codex.wordpress.org/Database_Description">http://codex.wordpress.org/Database_Description</a></p>
<p>＊直接アクセスする場合は、バージョンアップによる、データベース構造の変更を要注意</p>
<h2>SELECT文を実行する</h2>
<ul>
<li>テーブル名は使用せず、wpbpオブジェクトのプロパティを使用する</li>
<li>通常はget_resultsメソッドを使用する</li>
<ul>
<li>$wpdb-&gt;get_results(SELECT文)</li>
</ul>
<li>一行のみ読み込みたい場合はget_rowメソッドを使用する</li>
<li>フォームから入れられたデータを使用する場合は、prepareメソッドを使う</li>
<ul>
<li>$user = $wpdb-&gt;get_results($wpdb-&gt;prepare(&quot;SELECT * FROM $wpdb-&gt;users WHERE user_login = %s&quot;,$username));       <br />*%sは入力された文字列、数字の場合は%d</li>
</ul>
<li></li>
</ul>
<h3>例</h3>
<h3>最新公開投稿１０件</h3>
<blockquote><p>$posts = $wpdb-&gt;get_results(&quot;SELECT * FROM $wpdb-&gt;posts WHERE post_type = &#8216;post&#8217; AND post_status = &#8216;piblish&#8217; ORDER BY post_date DESC limit 10&quot;);</p>
</blockquote>
<h3>最近90日間でコメントが多くついた投稿ベスト10</h3>
<blockquote><p>&lt;?php     <br />&#160;&#160;&#160; // 集計期間を得る      <br />&#160;&#160;&#160; $to = time();      <br />&#160;&#160;&#160; $from = $to &#8211; 86400 * 90;      <br />?&gt;      <br />&lt;li&gt;&lt;h2&gt;最近90日間でコメントが多くついた投稿ベスト10&lt;/h2&gt;      <br />&lt;p&gt;(集計期間：&lt;?php echo date(&#8216;Y/m/d H:i:s&#8217;, $from) ?&gt; &#8211; &lt;?php echo date(&#8216;Y/m/d H:i:s&#8217;, $to) ?&gt;)&lt;/p&gt;      <br />&lt;?php      <br />&#160;&#160;&#160; // 現在から90日前の日時をSQL用に変形する      <br />&#160;&#160;&#160; $from_sql = date(&#8216;Y-m-d H:i:s&#8217;, $from);      <br />&#160;&#160;&#160; // SQL文を作る      <br />&#160;&#160;&#160; $sql = &lt;&lt;&lt; HERE      <br />SELECT p.* , c.recent_count      <br />FROM $wpdb-&gt;posts p, (      <br />&#160;&#160;&#160; SELECT comment_post_ID, count(*) AS recent_count      <br />&#160;&#160;&#160; FROM $wpdb-&gt;comments      <br />&#160;&#160;&#160; WHERE comment_date &gt;= &#8216;$from_sql&#8217;      <br />&#160;&#160;&#160; AND comment_approved = 1      <br />&#160;&#160;&#160; GROUP BY comment_post_ID      <br />) c      <br />WHERE p.ID = c.comment_post_ID      <br />AND p.post_status = &#8216;publish&#8217;      <br />ORDER BY c.recent_count DESC      <br />LIMIT 10      <br />HERE;      <br />// SQLを実行する      <br />$posts = $wpdb-&gt;get_results($sql);      <br />// コメントがついた投稿があるときのみ、投稿のリストを出力する      <br />if ($posts) : ?&gt;      <br />&#160;&#160;&#160; &lt;ul&gt;      <br />&#160;&#160;&#160; &lt;?php foreach ($posts as $post) : setup_postdata($post); ?&gt;      <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;li&gt;&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;(&lt;?php echo $post-&gt;recent_count; ?&gt;)&lt;/li&gt;      <br />&#160;&#160;&#160; &lt;?php endforeach; ?&gt;      <br />&#160;&#160;&#160; &lt;/ul&gt;      <br />&lt;?php else : ?&gt;      <br />&#160;&#160;&#160; &lt;p&gt;この期間にコメントがついた投稿はありません。&lt;/p&gt;      <br />&lt;?php endif; ?&gt;      <br />&lt;/li&gt;</p>
</blockquote>
<p>車のサイトで、カスタムキーが、メーカー、モデル、年度に定義されていて、フォード車について検索、ソートする場合</p>
<blockquote><pre>&lt;?php
$meta_key1 = 'model';
$meta_key2 = 'year';
$meta_key3 = 'manufacturer';
$meta_key3_value = 'Ford';

$postids=$wpdb-&gt;get_col($wpdb-&gt;prepare(&quot;
SELECT      key3.post_id
FROM        $wpdb-&gt;postmeta key3
INNER JOIN  $wpdb-&gt;postmeta key1
            on key1.post_id = key3.post_id
            and key1.meta_key = %s
INNER JOIN  $wpdb-&gt;postmeta key2
            on key2.post_id = key3.post_id
            and key2.meta_key = %s
WHERE       key3.meta_key = %s
            and key3.meta_value = %s
ORDER BY    key1.meta_value, key2.meta_value&quot;,$meta_key1, $meta_key2, $meta_key3, $meta_key3_value)); 

if ($postids) {
  echo 'List of $meta_key3_value . '(s), sorted by ' . $meta_key1 . ', ' . $meta_key2;
  foreach ($postids as $id) {
    $post=get_post(intval($id));
    setup_postdata($post);?&gt;
    &lt;p&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link to &lt;?php the_title_attribute(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;?php
  }
}
?&gt;</pre>
</blockquote>
<p>参考</p>
<ul>
<li><a title="http://codex.wordpress.org/Function_Reference/wpdb_Class" href="http://codex.wordpress.org/Function_Reference/wpdb_Class">http://codex.wordpress.org/Function_Reference/wpdb_Class</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://g.azucar.jp/wordpress%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e3%81%ab%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9%e3%81%99%e3%82%8b/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysqlによるレコード内文字列の置換</title>
		<link>http://g.azucar.jp/mysql%e3%81%ab%e3%82%88%e3%82%8b%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e5%86%85%e6%96%87%e5%ad%97%e5%88%97%e3%81%ae%e7%bd%ae%e6%8f%9b</link>
		<comments>http://g.azucar.jp/mysql%e3%81%ab%e3%82%88%e3%82%8b%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e5%86%85%e6%96%87%e5%ad%97%e5%88%97%e3%81%ae%e7%bd%ae%e6%8f%9b#comments</comments>
		<pubDate>Fri, 02 May 2008 10:01:43 +0000</pubDate>
		<dc:creator>focajun</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://it81.wordpress.com/2008/05/02/mysql%e3%81%ab%e3%82%88%e3%82%8b%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e5%86%85%e6%96%87%e5%ad%97%e5%88%97%e3%81%ae%e7%bd%ae%e6%8f%9b/</guid>
		<description><![CDATA[mysqlによるレコード内文字列の置換は以下のようにするupdate `tablename` SET `recordsName`=REPLACE(`recordsName`,&#8217;old&#8217;,'new&#8217;)
]]></description>
			<content:encoded><![CDATA[<p>mysqlによるレコード内文字列の置換は以下のようにする<br />update `tablename` SET `recordsName`=REPLACE(`recordsName`,&#8217;old&#8217;,'new&#8217;)</p>
]]></content:encoded>
			<wfw:commentRss>http://g.azucar.jp/mysql%e3%81%ab%e3%82%88%e3%82%8b%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%89%e5%86%85%e6%96%87%e5%ad%97%e5%88%97%e3%81%ae%e7%bd%ae%e6%8f%9b/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>select</title>
		<link>http://g.azucar.jp/select</link>
		<comments>http://g.azucar.jp/select#comments</comments>
		<pubDate>Mon, 05 Feb 2007 11:26:00 +0000</pubDate>
		<dc:creator>focajun</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://it81.wordpress.com/2007/02/05/select/</guid>
		<description><![CDATA[$sql=&#8221;query strings&#8221;;$result=mysql_query($sql);$row=mysql_num_rows($result);
if($rows==0){ die;}else{ while($row=myswl_fetch_array($result)){ $a1=$row["field name1"]; $a2=$row["field name2"];}
]]></description>
			<content:encoded><![CDATA[<p>$sql=&#8221;query strings&#8221;;<br />$result=mysql_query($sql);<br />$row=mysql_num_rows($result);</p>
<p>if($rows==0){<br /> die;<br />}<br />else{<br /> while($row=myswl_fetch_array($result)){<br /> $a1=$row["field name1"];<br /> $a2=$row["field name2"];<br />}</p>
]]></content:encoded>
			<wfw:commentRss>http://g.azucar.jp/select/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
