2014-02-20 1 views
0

안녕하세요 여러분, 저는 웹 사이트에서 몇 가지 문제를 해결해야합니다. 그리고이 문제를 해결해야합니다. 나이를 표시하는 필드가있는 양식이 있으며 날짜는 날짜를 빼서 계산됩니다. 사람이 태어 났을 때 (이 값은 필드에 입력 한 값) 현재 연도를 뺀 것이지만, 문제는 만약 당신이 그 사람의 생년월일을 나타내지 않는다면, 현재 년이 사람의 생일을 지닌 변수가 = 0 원인은 아무것도 삽입되지 않았기 때문에 2014 년 된 페이지에 표시됩니다. 아무 것도 표시되지 않으면 그 필드를 전혀 표시하지 않아야합니다. 그리고 다른 {} 해결책이 필요합니다. 어떻게 해결할 수 있습니까? 코드. 내가 다른 {} 넣어해야 물론 현재 연도 (2014) - 길 "아노 드 nacimiento"으로정보가 수신되지 않을 경우를 대비해 기본값을 표시하지 않는 방법은 무엇입니까?

if (strcmp ($title , "Año de nacimiento") ==-1) 
{ 
    if($edad!=1) 
    { 
     $fecha = date("Y"); 
     $edad=$fecha-$c; 

     echo "<div class='uk-grid' data-uk-grid-margin='' >"; 
     echo "<div class='uk-width-medium-7-10'><b>"; 
        echo JText::_('ADSMANAGER_CAMPO_EDAD'); 
        echo "</b></div>"; 
     echo "<div class='uk-width-medium-3-10'>$edad a&ntilde;os"; 
     echo "</div></div>"; 

     $edad=1; 
    } 
} 

출생 연도, $ edad 출생의 감산 년까지받은 나이는 어떤 수수께끼를 해결할 수있는 아이디어?

+0

'strcmp() == -1'? 그게 네가 원하는대로 할거야? '== 0'이 일치 할 것입니다. –

+0

나는이 코드를 만들지 않았다. 나는 물건을 고치기 위해 hirred를 얻었다. 하지만 만약에 == -1 대신에 == -1을 구현하면, 출생 필드의 해에 아무것도 도입되지 않으면 필드가 전혀 표시되지 않습니다. 그 이유는 내가 찾고있는 것이기 때문입니다. – abonini

답변

0

음들의 admnistrator에 의해 주어지지 않는 경우 세 필드를 표시하지의 순서를 제공하기 위해, 내가 한 일은 이것이다 : 당신은 내가 {경우 전 연령 계산을 넣어} 그래서 나이 계산은 현재 날짜와 동일하지 않은 경우, 그 다음 다른 것, 나이와 함께 필드를 표시 볼 수 있듯이

$fecha = date("Y"); 
$edad = $fecha - $c; 

if($edad!= $fecha){same logic as before} 

나이가 동일하다는 것을 의미합니다 (현재 날짜는 생년월일이 주어지지 않은 기본 연령 임). 현재 날짜는 아무 것도 표시하지 않거나 표시되지 않았기 때문에 표시하지 않습니다. 고맙습니다 어쨌든 나는 내 자신이 이것을 해결 한 것을 자랑스럽게 생각합니다!

1

시도 :

$edad = $fecha - ($c ? $c : 2000); 

2000 합리적인 기본을해야한다는 -이 경우, 14 년에 자신의 나이를 기본, 그래서 ... 아마도 1990을 시도 할 것입니다. 당신의 상황에 가장 잘 맞는 것은 무엇이든간에.

PHP의 최신 버전에서

, 당신이 할 수있는이 저 사람을 위해 일

$edad = $fecha - ($c ?: 2000); 
+0

이것을 이해하지 못한다 : 2000 년이나 1990 년은 현재 년도 (2014 년)를 뺀 것이고, 해결책을 제시하면 나는 더 낮은 숫자를 표시한다 : 1990 년은 기본 연령 24 세가 될 것이고, 나는 원하지 않는다. 출생이 삽입되면 그 분야를 전혀 보여주지 못한다. 내가 어떻게 할 수 있니, 고맙지? – abonini

관련 문제