タグに「ホームページ作成」を持つ
1〜10件目 / 14件
1 2 次へ

 auto incrementの次の値を得る / magicien 

MySQLでauto incrementの次の値を得る方法を調べた。

Dark Horseのカウンターは今のところMySQLのauto incrementの値を使ってカウントしているわけです。で、IPアドレスを記録しておいて、重複カウントを防いでいるんだけど、一日毎に集計して別テーブルにカウントだけ保存、IPアドレスを保存するテーブルの値は消去してしまうため、データが空ってこともあり得るわけです。
そのときにSELECT MAX(カウント)としても、値は0になってしまうのです。

で、auto incrementの値はどこに保存されてるのかなぁと調べてみたところ、
SHOW TABLE STATUS FROM `テーブル名` WHERE `Name` = '列名'
で、Auto_incrementの列にauto incrementの「次の値」が入ることが判明。ちなみに、MySQLのバージョンは5.0。他のバージョンはどうなのかわからんです。
2007/04/20(Fri) 01:10:17

 RSSとfavicon / magicien 

さっき書き忘れたけど、RSSとfaviconも設置してみた。

RSSはRSS2.0の仕様を参考に作成。そういえばRSSへのリンクを張り忘れていた。後で張っておこう。
faviconは、PNGで16×16pxの画像を作成、favicon.icoと名前を付けて、ドキュメントルートに置くだけ。一応、ヘッダにも
<link rel="shortcut icon" href="http://darkhorse2.0spec.com/favicon.ico" />
と書いておいたけど、Safariではあまり意味がなかったように思う。画像の種類はBMP、GIF、JPGなんかも使えるみたい。この大きさだとJPGを使う必要はないだろうけど、BMPとGIFはどっちの方がサイズが小さくなるのか、ちょっと気になるところ。
2007/03/14(Wed) 00:16:16

 SELECTで選ばれた行数を得る / magicien 

LIMITで行数を指定していると、SELECT文に該当する行数が本当はいくつだったのかがわからない。LIMITを指定しないクエリを発行することで行数を得るという手もあるが、MySQLではもっといい方法があったのでメモ。

行数を得たいSELECT文に「SQL_CALC_FOUND_ROWS」と書いておき、クエリを発行した直後に、「SELECT FOUND_ROWS()」とすると、LIMITを指定しない場合の行数が得られる。
SELECT SQL_CALC_FOUND_ROWS * FROM `table` LIMIT 0, 10;
SELECT FOUND_ROWS();
これで、余計なデータを取得することなく行数を得ることが出来る。
2007/03/11(Sun) 00:24:26

 マルチバイトの空白を判別するには? / magicien 

PHPで検索機能を作る時に、検索ワードを空白で分割しようと思うと、マルチバイトな上に、半角と全角のスペースの2種類があるので、なかなか難しい。と思ったら、簡単な方法があったので、メモ。

mb_splitという、マルチバイト対応の文字列分割用の関数があった。この関数で、半角、全角のスペース、タブ、改行をまとめて指定するには、[[:space:]]を使う。
$search_words = array_unique(mb_split("[[:space:]]+", $_GET['search']));
if(empty($search_words[0])){
	array_shift($search_words);
}

array_uniqueは重複する単語を除去する関数。$_GET['search']の先頭にスペースが入っている場合は、配列の最初は空になるので、array_shiftで取り除いておく。といった感じの処理をしてます。
2007/03/10(Sat) 14:32:32

 div版サムネイル生成ver0.2 / magicien 

canvas版サムネイル生成ver0.1を改良。ソースはかなり汚いですが、ver0.3はハイブリット版にする予定なもので、canvas版のソースはそのまま。

c26_image
画像URL:
サムネイルサイズ
幅:ピクセル
高さ:ピクセル
拡大率:
出力画像タイプ:
GIF JPEG PNG
c26_thumbnail


2007/03/05(Mon) 19:32:03

 MySQLのFROM句のサブクエリ / magicien 

MySQLをいじっていてつまづいたのでメモ。

MySQLのクエリーがテストサーバでは動作したのに、本番のサーバではエラーが起きるという問題があった。どうやら文法のエラーが起きているが、何度見直しても正しい文法のはず。と思ったら、本番サーバのMySQL4.0では、FROM句にSELECT文を入れることができないようだ。FROM句にサブクエリが使えるようになったのはMySQL5.0かららしい。
2007/03/02(Fri) 23:54:20

 サムネイル生成ver0.1取説 / magicien 

使い方説明。

1.サムネイルを生成したい画像のURLを入力、変更ボタンを押す。(扱える画像は、GIF、JPEG、PNG。ちなみに、ネット上にアップされているファイルしか扱えない)
2.上部の画像が変更されるので、生成したいサムネイルのサイズをテキストフィールドに入力するなり、スライダーを動かすなりして変更する。(元の画像よりも大きいサイズのサムネイルは作れない。サムネイルの意味ないしね。)
3.拡大率を変更したり、上部の画像をドラッグすることで、希望する画像になるよう頑張る。
4.逸る気持ちを抑えつつ、出力画像タイプを選ぶ。
5.サムネイル作成ボタンを祈りを込めて押す。
6.下部にできたてのサムネイルが表示されるので、ドラッグアンドドロップやら右クリックやらでお持ち帰り。

といった具合。ようやくAjaxらしいことができた。まだまだ改善すべき点は多いわけで、いずれバージョンが上がってきたらLGPLか修正BSDで配布してみようかな、と思ったり。
2007/03/02(Fri) 03:54:33

 サムネイル生成ver0.1 / magicien 

作ってみた。奥さん、すごいですよ、これ。
コード量が多いんで、説明はまた今度。

画像URL:
サムネイルサイズ
幅:ピクセル
高さ:ピクセル
拡大率:
出力画像タイプ:
GIF JPEG PNG


2007/03/02(Fri) 03:04:45

 続sliderとcanvasの練習 / magicien 

前回はSafariしか動かなかったので、今回は他のブラウザでも動くものに。ついでにBezier曲線を使ってみた。






RGBAで色を変更、Tで変形。Bezier曲線はよくわからず。

2007/02/21(Wed) 20:17:36

 scriptaculous.jsのsliderとcanvasのshadow / magicien 

せっかくscriptaculousを導入したので、スライダーを使ってみた。そのついでにcanvasの実験。





スライダーを動かすと、影の位置とぼかし幅が変わります。そして、相変わらずJavaScriptのコードの説明は放棄...いつか気が向いたら説明書きます。本当は、スライダーに画像を設定してもっと見栄えを良くできるのだけれども、画像を作るのが面倒なのでやめた。これもいつか気が向いたら...。まぁこういったところで僕の人となりを察してもらえればと思います。

そして、アップしてから気づいたけど、shadowはSafariしか使えないらしい。他のブラウザを使っている人はスライダーを左右に動かして遊んでね♪何も起こらないけど(泣)
2007/02/20(Tue) 17:35:15