アーカイブ
三大ショッピングモールを横断検索できる「RaQoo通販」
Yahoo!ショッピング、Amazon.co.jp、楽天市場の商品データを同時に検索できるサイト「RaQoo通販」を作成しました。
それぞれ二階層目までのジャンル選択とソート選択が可能になっています。
なお、Amazon.co.jpの「全体」検索は最初の50件までしか取得できないようです。
各ジャンルを選択して検索した場合は50件以上取得できますので、多く調べたい場合はジャンル選択を行なって下さい。
Yahoo!ショッピング、楽天市場に関してはそのような問題はありません。
また、横断検索ではなく一つのサイトを辿る場合は、各サイトのカテゴリ一覧から辿ることで「絞込み検索」を行なえます。
主な機能
- 三大ショッピングモールの商品を同時に検索することが可能
- それぞれ二層目までのジャンル選択が可能
- ソートの選択が可能
サブ機能
- 各カテゴリで辿ることが可能
- 辿った先のカテゴリで絞込み検索が可能
その他
- AmazonのランキングRSSを生成する「AmazonRSS(M)」
- AmazonのランキングFlashを配信する「AmazonFeeder(M)」
- Amazonの任意リンクを生成する「AmazonLink(M)」
注意点
- Amazonの「全体」検索は最初の50件しか取得できない
- 各カテゴリ項目を訪れた際に対応する売れ筋ランキングを表示させるようにしているが、深層のカテゴリでは配信されていないものがある(特に楽天市場)
DB error: unknown errorがMysqlで発生したので困った件
わからんエラーが発生して理由がわからんと言われても困るわけですけれども、仕方がないのでネットで探してみた。
まず一つ目。
MySQLで DB error: unknown error と出て日本語を含むSQLが正しく動作しない現象の解決方法
MySQLのmy.iniに「skip-character-set-client-handshake」を追加。
ということなので、my.iniを探してみたのですけれども、場所がわからん。
うちのローカルサーバーはxamppでラクチン構築しているので、xamppフォルダから下層までのフォルダ検索を行ったけれども見つからないと言われたので素直にあきらめ。
それで二つ目。
DB Error: unknown error
getDebugInfo()をエラー表示に切り替え。
DB error: unknown errorとおっしゃるエラー表示はDB_Error->getMessage()で得ていたのですけれども、getDebugInfo()にすると少々賢くなる模様。
エラー出ると発行クエリがずらずら表示されたりします。
見ると「MySQL server has gone away」とおっしゃっておりました。
mysqlがどっか行った、と。
勝手にどっか行かれても困るので、おもむろに「MySQL server has gone away」で検索。
ここにたどり着きました。
A.2.2. MySQL server has gone away エラー
「間違ったクエリか大きすぎるクエリをサーバに送信した場合も、このエラーが発生する可能性があります」とのこと。
インサート700個目ぐらいに毎度発生していたので、でかすぎが原因かということでコードを書き換えて一部を実行。
ちゃんとインサートされました。
一回のクエリで済まそうというのは虫が良すぎた模様です。
まあ、さらに40000個ぐらいを一緒に送り込もうとしていたんですが。
60分割でお願いしますか。
javascriptのカラーピッカーを導入してみた
名言サイトに「Flash名言」というブログパーツがあるのですけれども、それの本文と背景の色を変更するのにjavascriptで動作する「colorpicker」というカラーピッカーを導入してみたのです。
それまではカラーコードを指定してselect文で選択するようにしていたのですが、このカラーピッカーは導入も簡単で動作もいい感じ。
ただ、記述をミスしたというかjavascript自体がよくわかってないので「サイトに接続できませんでした」というエラーが生じて困った。
導入
- 上記サイトから一式ダウンロード&FTPでアップロード
- 各ファイルへのパスをhead部分に記述
- 色変更用のタグを記述(id付与)
- 色情報記述用のjavascriptを記述
まず1はそのまま。
2は「colorPicker.css」「prototype.js」「scriptaculous.js」「yahoo.color.js」「colorPicker.js」への参照パスをhead部分に記述。
3は<input type=”text” name=”color” id=”colorfield1″ value=”FFFFFF”>みたいな感じで記述。
4は
<script type=”text/javascript”>
// <![CDATA[
["1", "2", "3", "4"].each(function(idx) {
new Control.ColorPicker(”colorfield” + idx, { IMAGE_BASE : “img/” });
});
// ]]>
</script>
みたいな感じで記述。
4を3の記述より後に書かないと動作しなかった。
javascriptでformに対して操作を行う場合はformブロックよりも後ろに記述しないといけないという決まりがあるとかないとか。
なので</body>と</html>の間にでも書いておけば間違いはなさそう。
3で作ったidとここで参照するidが合わないとエラーが起きるので注意。
また、アップロードの仕方によってはIMAGE_BASE : “img/”のimgに対する参照パスも変更しないといけないので注意。
ダウンロードしたままの構成をアップロードすれば問題はないですけれども。
最近のコメント