サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2012/07/06

PHP-Slim Frameworkでプログラムを作ってみました

PHPのSlim Frameworkで簡単なプログラムを作りました。クライアント側はExt JS 4.1でGrid表示です。要はサーバ側はMVCのVはなく、DBを読んでJSONを出力するだけです。

書き方やサンプルは公式サイトのこちらのページが詳しい。ほとんどこのサイトでできたのですが、結構困ったのが、Gridのページング用にサーバ側でoffsetとlimitを動的に変える部分です。つまり

SELECT field1, field2 FROM my_table where (条件) order by field1 offset オフセット値 limit リミット値

というSQLのオフセット値、リミット値の箇所です。上記Slimの公式サイトには、

$app = new Slim();
$app->get('/books/:id', function ($id) {
//Show book identified by $id
});

というサンプルがあるので、これを参考に


$app = new Slim();
$app->get('/books/:id/:start/:limit', function ($id, $start, $limit) {
//Show book identified by $id
});

とやってもダメ。Ext JSがページングの時に出すHttpRequestは、/books/1?start=0&limit=20というものだからです。上記サイトの"Routing"の箇所をいろいろ見ましたが、結局素直にガリガリ書くことになりました。

$app = new Slim();
$app->get('/books/:id', function ($id) {
//Show book identified by $id
$start = $_REQUEST["start"];
$limit = $_REQUEST["limit"];
$sql = "SELECT field1, field2 FROM my_table where (条件) order by field1 offset $start limit $limit";
// SQL実行
// JSON出力
});

ひょっとするとうまいやり方があるのかもしれませんが、一応これで実現できたので"よし"とします。

クライアント側のExt JS 4.1のコードは改めて紹介します。

スポンサーサイト

コメント

このコメントは管理人のみ閲覧できます
2012/07/29(日) 12:08:34 || # [編集]
> 結果は一緒なのですが、Slimでクエリストリングパラメータを取得する場合は、以下のようにできると思いますよ。
> 既知でしたらスルーしてください。
>
> http://www.slimframework.com/documentation/stable#request-parameters

知りませんでした。ご教示ありがとうございます。
このサイトは見ていたのですが、初めの方しか読めていませんでした。
試してみます。

ありがとうございました。

2012/08/02(木) 17:54:21 |URL|sookibizviz #- [編集]

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/1248-c313153a

■  カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。