2011-05-17 6 views
1

テーブルから適切なデータを取得するために、プログラムでsubstrを使用する方法を理解しようとしています。PHP substrはどのように使用しますか?

ユーザーピック '文字' "AA"、 "AB"、 "AC"、 "AD"、 "AE" または "すべて"

その後、私は 'PANELIDは'「文字がある場合に比較する必要があります'substrを使うと仮定します。

PANELID例:1122AA-0010

$_SESSION['yield'] = " 
from (select distinct panelID from DATABASE.TABLE) s, DATABASE.TABLE p 
where p.panelID = s.panelID and p.laminationts > '$start_date' and p.laminationts < '$end_date' 
group by week(p.laminationts)"; 

最初の文字が位置1にあるので、あなたは、SUBSTR(p.panelID、5,2)をする必要はありません。この

"where substr(p.panelID,4,2) = substr(s.panelID,4,2) and p.laminationts > '$start_date' and p.laminationts < ..." 
+0

? – mellamokb

+0

mysqlの['substring'](http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring)またはPHPの[' substr'](http: /php.net/manual/en/function.substr.php)? – scurker

+0

ユーザー入力がまだ実装されていません。私は私が推測するPHPの部分文字列を使用しようとしています。私は全く新しいです。 – TheRealDK

答えて

0

ような何か0.

また、WHERE句の関数を使用すると、これらのフィールドでインデックスを使用することは避けられます。おそらく、インデックスの使用を許可するために、あなたのDBを再構成することができます(例えば、複数のフィールドでpanelIDを分割し、それらのフィールドに複合PKを作成する)

2

もう一つのオプションはLIKE演算子と%ワイルドカードを使用することです。それはあなたが興味を持っているテキストの文字列を含む行を検索します:ユーザーの入力がクエリで実施されている

http://socialstreams.co/40/MySQL_LIKE_Operator