2011-12-31 2 views
0

제품 유형에 따라 데이터로 채워지지 않는 양식 요소가 많은 양식이 있습니다. mysql db에서 한 행 레코드를 인쇄하려면 데이터에 빈 컨테이너가있는 열을 인쇄하지 않거나 "%"기호를 입력해야합니다. 누구든지 그 일을하는 방법을 알고 있습니까? 예를 환영합니다!PHP에서 "%"기호가없는 경우에만 양식 요소를 표시하는 방법

+2

무엇을 시도 했습니까? 데이터베이스 모델은 무엇입니까? "빈"필드가 NULL입니까? – Dan

+0

무엇? 다시 말해 줄래? –

+0

코드를 추가하는 방법은 100 가지가 있기 때문에 더 많은 코드를 추가해야하지만, 일부 경우에만 유용 할 수 있습니다. – hakre

답변

1

null 또는 빈 문자열을 확인하여 열이 비어 있는지 확인하고 strpos을 사용하면 '%'이 표시되는지 확인할 수 있습니다. 단 조건이 충족되는 경우 열 데이터를 인쇄 :

<?php if (!is_null($row['column']) && $row['column'] != '' && false === strpos($row['column'], '%')) : ?> 
    <?php echo $row['column']; ?> 
<?php endif; ?> 

또는 원시 PHP에서 :

if (!is_null($row['column']) && $row['column'] != '' && false === strpos($row['column'], '%')) { 
    echo $row['column']; 
} 
2
if ($yourValue != '' && strpos($yourValue, '%') === FALSE) 
{ 
    // print empty container 
} 

...하지만 원래 데이터베이스 값이 이미 포함되어 어디 경우를 처리 어떻게 % 따라서 표시해야합니다 (Bracketworks의 의견 참조)?

+0

일 것입니다. strpos ($ yourValue, '%')> = 1' 그렇지 않으면 "%"만 입력 할 수 있기 때문입니다. 그리고 나머지가 숫자인지 확인할 수도 있습니다. '$ num = str_replace ('%', '', $ yourValue); if (numeric ($ num)) { // 숫자 } – Dion

+0

원래 질문에서 표시 할 "값"이 숫자라고 가정합니다. 처음 문장에 BTW, 내가 왜 ** ** '%'만 입력 할 수 있는지 이해할 수 없다 ... 여기서 값이 ** 표시되어야하는지 ** 확인하고있다. –

+0

당신은 맞지만 "%"(abc %)가 아닌 숫자 값을 본 적이 있습니까? – Dion

0
$query = "SELECT * FROM TABLE WHERE ID = 1"; 
$result = mysql_query($query); 

while ($row = mysql_fetch_array($result)) { 
    foreach ($row as $key => $value) { 
     if ($value != "" && strpos($value, '%') === false) { 
     //Do your output here... 
     } 
    } 
} 
관련 문제