MySQLでテーブルを作成
MySQLを使ったブログシステムをPHPで作っています。
テーブルを作成するときは、phpMyAdminを使って手作りをしているのですが、面倒です。
PHPで一気に作る方法をまとめました。 (さらに…)
ゆるくつくる stabuckyのブログ
MySQLを使ったブログシステムをPHPで作っています。
テーブルを作成するときは、phpMyAdminを使って手作りをしているのですが、面倒です。
PHPで一気に作る方法をまとめました。 (さらに…)
WordPressにはWassUpという、アクセス状況を調べることのできるプラグインがあります。
WassUpはアクセスのログをMySQLのテーブルに保存しているのでSQLを使えば簡単にアクセス状況を集計をすることができます。
そこで「30日間にアクセスの多かった記事」を取得するSQLを考えてみました。
URLを「/wp/archives/3815」としている場合の例です。「wp」はWordPressのフォルダです。
ログは「wp_wassup」テーブルに保存されています。
記事は「wp_posts」テーブルに保存されているので、結合して記事のタイトルを取得します。
「30 *24 *60 *60」の「30」が日数です。
次が実行結果です。
post_title | ct |
---|---|
ワンピースARカードダスのレアカード | 7226 |
ワンピースARカードダス一覧 第3弾 | 6166 |
ワンピースARカードダス一覧 第2弾 | 4436 |
ワンピースARカードダス一覧 | 4196 |
伝説ポケモンのARマーカー | 2243 |
GoogleカレンダーにCSVファイルから予定をインポートする方法 | 1936 |
ワンピースARカードダス、40枚中34枚を発見 | 1668 |
「ショットノート」を自作 | 1633 |
ポケモン立体図鑑ARマーカーリスト | 1310 |
番号と日付がセットできる自作SHOT NOTE | 1241 |
ワンピースとポケモンばかりだ。
MySQLで文字コードを得るにはASCII()という関数を使います。
マルチバイト文字(日本語の全角文字など)についてはord()を使います。
しかし返す値がよく分かりません。
リファレンスには次の通り書かれています。 (さらに…)
VBAやJavaScriptなどには文字列を置換するための関数があります。
「これはペンです」の「ペン」を「鉛筆」に置換して「これは鉛筆です」に変換するようなケースで使います。
言語によって微妙に書き方が異なるので注意を要します。
私がよく使う、Excel、VBA、JavaScript、PHP、MySQLについて、比較してみました。
言語 | 関数 |
---|---|
Excel | SUBSTITUTE(文字列,置換前,置換後) |
VBA | Replace(文字列,置換前,置換後) |
JavaScript | 文字列.replace(置換前,置換後)※正規表現が使える。 |
PHP | str_replace(置換前,置換後,文字列)または preg_replace(置換前,置換後,文字列)※正規表現が使える。 |
MySQL | REPLACE(文字列,置換前,置換後) |
言葉の意味は次の通りです。
文字列「これはペンです」の置換前「ペン」を置換後「鉛筆」に置換
MySQLで特定の文字列を一括置換する方法は次の通りです。
例えば、テーブル「予定表」のカラム「場所」の「○○教室」を「○○会議室」に一括置換したい場合には次のようにします。
このブログはレンタルサーバのロリポップを使っています。
今日、サーバの移設があったのですが、自分で作成したページに文字化けが発生しました。
PHP5とMySQL5を使用しているページが文字化けします。
その対処方法は「mysql_select_db」の後に「mysql_set_charset(“utf8”)」を挿入すること。
私の場合はこれで文字化けが解消されました。
WordPressは2.9からは、MySQLは4.1.2以上でないと使えません。MySQL5ならばOKです。
ところが私の使っているMySQLは4.1.2未満だったのでアップグレードできませんでした。
MySQL4から5にするためにはデータベースの移行が必要なので躊躇していました。またPHPとの相性の問題もあるかもしれず、エラーが出たら面倒だと思っていました。 (さらに…)
XOOPSという仕組みを利用していたのですが、利用者が皆無なので、削除することにしました。
XOOPSはMySQLのテーブルをたくさん使います。私の環境では47個もありました。
一つずつ削除するのは面倒なので困っていたのですが、SQL文を次のように書いたところ、一気に消すことができました。