[PHP-users 19435]Re: SQL文のSELECT項目を変換する正規表現について

yuji koga koga-y @ mcp-net.com
2003年 12月 19日 (金) 17:31:25 JST


お世話になります。古賀です。

> PHPの作成画面としては、
> 1ページ20レコードで、ページ制御があります。
> 
> 1ページに表示するレコードを制限するため
> (上記のDBMSで)「LIMIT」句を使っています。
> 
> ただ、「LIMIT」を使っただけでは、総件数が取得できないため
> 「LIMIT」を含むSQLを実行する前に、「COUNT」で件数を取得しようと考えていまし
> た。

# べつに一度データをselectした後ならばmysql_num_rows()でも、
# PEARのDB_Result::numRows()でも良いとは思うんですけど、
# 場合によっては、データをselectする前に行数が欲しい時
# (又は行数のみ必要な時)も有りますので、以下は補足です。

やりたいことは分かりました。しかし、何故、countするSQL文を生成するのに、
実際にデータをselectする文から正規表現で変換する、というのは、
あまり良い方法だとは思えません。

よく落ちついて考えて下さい。この2つのSQL文は、WHERE句は共通のハズです。
ですから、まず与えられた検索条件からWHERE句のみを組み立てるメソッドと、
得たい情報に応じてSQLの残りを組み立てるメソッド、を分離します。
そして得られた結果を欲しいデータ形式で返すメソッド、を組み合わせれば、
自ずと解決策に至るはずです。


<? /*********************************
koga-y @ mcp-net.com
*********************************/ ?>



PHP-users メーリングリストの案内