2013-02-14 5 views
0

cakephp 1.2를 사용하고 있는데 다음과 같은 상황이 있습니다 :
클래스에 'A', 'B', ' 'C', 'G'또는 'DBB', 'ABA'등 세 글자로 구성된 문자열
모든 문자열에는 의미가 있습니다 (예 : A = Article, B = Book 등).
는이 코드 쓰기 : 이것은 '한 글자'사건에 대한 노력
검색어에 대해 mysql에서 필드 길이를 가져옵니다.

if ($_GET['classificazione']!="art0") 
{ 
    $classificazione=$_GET['classificazione']; 
    if ($classificazione=="A"||$classificazione=="B"||$classificazione=="C"||$classificazione=="G") 
       $conditions[]=array('classe =' => "$classificazione"); 

을,하지만 난 2 개 이상의 문자로 어떻게 해야할지 모르겠어요.
가 등호 ('DBB'과 'ABA는'두 문서되는) 경우 내가, 내가 그래서이 시도 길이를 확인하는 생각 상관하지 않기 때문에 :

else 
    $conditions[]=array('LENGTH(classe) > 1'); } 

내가 다른 테스트 이제는 효과가 있습니다.

+1

내가 아니다 물론 내가 이해하는 한, 당신은 [CHAR_LENGTH] (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_char-length) –

+0

'if ($ classificazione = = "A"|| \t $ classificazione == "B"|| \t $ classificazione == "C"|| \t $ classificazione == "G"|| \t $ classificazione == "DBB"|| \t $ classificazione == "ABA")'직장을 다니지 않습니까? – SparKot

+0

@DoSparKot Else와 함께 작동합니다. 나는 네가 괜찮다고 생각하지만, 그 두 글자 이상의 조합을 가질 수있다. 그래서 나는 가장 일반적인 경우가 필요하다. – Ettore

답변

1

사용 LENGTH() 바이트 길이를 확인하기 위해 (멀티 바이트 문자열에 대한 유용한) 문자 수에 길이를 확인하기 위해

SELECT str FROM sometable WHERE LENGTH(str) = 5; 

또는 CHAR_LENGTH() :

SELECT str FROM sometable WHERE CHAR_LENGTH(str) = 5;