2011-09-02 5 views
0

SQL 테이블의 필드 중 하나가 링크로 표시되는 PHP 폼이 있습니다. 그러나 나는 그 필드에 뭔가가있는 경우에만 필드 데이터가 아닌 다른 것을 표시하기를 원합니다. 공연 목록이고 '설정 목록'에 대한 링크를 표시하는 옵션이 필요합니다. 나는 파일 이름을 표시하는 것을 원하지 않지만, 지금은 그렇지만 이미지 아이콘이나 'SET'와 같은 것을 표시하고 싶지 않습니다.IF 문으로 인해 catch 오류 메시지가 발생합니다.

누군가가 내가 코드에

if ($row['gigsetlist']=="") { 

를 추가하지만이 .. 오류 메시지가 예기치 않은 캐치를 던졌다 제안했다.

위의 if 문을 포함하는 코드는 다음과 같습니다. 다른 사람이 누락되거나 충돌 할 수있는 것을 지적 할 수 있습니까?

<?php 

try { 

    require_once "pdo_testdb_connect.php"; 

    $dbh = testdb_connect(); 

    $sql = "SELECT id, gigdate, date_format(gigdate,'%d %M') as d, gigshortdesc, 
    gigsetlist FROM gigs WHERE gigdate 
    BETWEEN '1995-01-01' AND '1995-12-31' ORDER BY gigdate ASC"; 

    print '<table>'; 

    foreach($dbh->query($sql) as $row) 
    { 
     print '<tr> 
     <td width=100>' . $row['d'] . ' </td> 
     <td> ' . $row['gigshortdesc'] . '</td> 
     <td>'; 
     if ($row['gigsetlist']=="") 
     { 
      print '<a href="sets/' . $row['gigsetlist'] . '.php" 
      onclick="return openWin (this.href, 

      this.target, 480, 480, 1, 0, 0, 0, 0, 1);" 
      rel="nofollow" target="_setlist">' . $row['gigsetlist'] . '</a></td> 
      </tr>'; 
     } 

    } 

    print '</table>'; 

    $dbh = null; 

} 

catch(PDOException $e) 
{ 
    echo $e->getMessage() 
;}?> 

많은 감사

+3

실수로 일어난 일인지 모르겠지만 한 끝 '}'을 잊어 버렸습니다. 나는 당신의 코드를 형성하고 빠진'}'을 삽입했다. 그 외에도 if 문은 나에게 의미가 없습니다. 'if ($ row [ 'gigsetlist']! = "")'? –

+0

감사합니다. 그렇습니다! == 나는 간과 했었습니다. 그리고 당신이 지적한 바와 같이, 너무 길을 잃었습니다. 많은 감사합니다. 이제 완벽하게 작동합니다. –

답변

0

에서 변경

:

if ($row['gigsetlist']=="") 

사람 :

if ($row['gigsetlist']!="") 

당신은 동일하지 $ 행 [ 'gigsetlist를'] 확인해야 비어있는 그것은 어떤 dat을 포함한다는 것을 의미한다. 그러면 링크가 표시됩니다.

+0

훌륭하게 작동 해 주신 @Satish에 감사드립니다. 물론, 그것을 발견 했어야합니다. 많은 감사 –

관련 문제