2017-12-21 18 views
0

結果に応じて値を変更する必要があります。PHPを使用してMySQLクエリの結果に応じて画像を表示

<td>'.$row['register_status'].'</td> 
     <td>' 
     if($row['status']=='Active') 
     { 
     echo '<span class="glyphicon glyphicon-time" aria-hidden="true" style="color:orange"></span>'; 
     } 
'</td> 

コードの何が問題になっています。この場合は、「ステータス」私の行がある場合は、「アクティブ」私はテーブルでそのようなものを入れたいですか?ログに

if(mysql_num_rows($result) > 0) 
{ 
    $number = 1; 
    while($row = mysql_fetch_assoc($result)) 
    { 
      $data .= '<tr> 
      <td>'.$row['register_status'].'</td> 
      <td>' 
      if($row['status']=='Active') 
      { 
      echo '<span class="glyphicon glyphicon-time" aria-hidden="true" style="color:orange"></span>'; 
      } 
      '</td> 
     </tr>'; 
      $number++; 
    } 
} 
else 
{ 
    // records now found 
    $data .= '<tr><td colspan="6">Records not found!</td></tr>'; 
} 

$data .= '</table>'; 

echo $data; 

、エラーは次のとおりです。

PHP解析エラー:構文エラー、ライン32上の/var/www/html/form/ajax/readRecords.phpで予期しないT_IF、リファラます。http:/localhostform/

ライン32である。

  if($row['status']=='Active') 
  • UPDATE *

は最後に、私のようにコードを更新:

while($row = mysql_fetch_assoc($result)) 
    { 
     $data .= '<tr> 
         <td>'.$row['register_status'].'</td> 
         <td>'; 

         if($row['register_status']=='Active') { 
           $data .= '<span class="glyphicon glyphicon-true" aria-hidden="true" style="color:green"></span>'; 
         } 
         else if($row['register_status']=='Inactive') 
         {  
           $data .= '<span class="glyphicon glyphicon-time-remove" aria-hidden="true" style="color:red"></span>'; 
         } 
         else  
         {  
           $data .= '<span class="glyphicon glyphicon-time" aria-hidden="true" style="color:orange"></span>'; 
         } 

         $data .= '</td> 
         <td>'.$row['first_name'].'</td> 
        </tr>'; 
    } 
} 
else 
{ 
    $data .= '<tr><td colspan="6">Records not found!</td></tr>'; 
} 

$data .= '</table>'; 

echo $data; 

しかし、常に他の最後を実行し、唯一

$data .= '<span class="glyphicon glyphicon-time" aria-hidden="true" style="color:orange"></span>'; 

に結果を印刷するのはなぜ異なるケースに応じて別のアイコンを入れていませんか?

答えて

0

これはあなたのコード内のカップルのエラーがあります

$number = 1; 
while($row = mysql_fetch_assoc($result)) 
{ 
     $data .= '<tr> 
     <td>'.$row['register_status'].'</td> 
     <td>'; 
     if($row['status']=='Active') 
     { 
      $data .= '<span class="glyphicon glyphicon-time" 
     aria-hidden="true" style="color:orange"></span>'; 
     } 
     $data .= '</td></tr>'; 
     $number++; 
} 
0

あなたがここにセミコロンが欠落している:

$data .= '<tr> 
    <td>'.$row['register_status'].'</td> 
<td>' 

は次のようになります。

$data .= '<tr> 
    <td>'.$row['register_status'].'</td> 
<td>'; 

「構文エラー、予期しない」のようなものがポップアップするたびに、必ず前の文に目を向けます。

0

より完全な補正です。私は誤りを修正し、提案した。これを試してみてください:

注:MySQLの代わりにMySQLiを使用してください。 MySQLiiが改善されていると言ってもいいと思います。 MySQLは廃止され、将来のPHPバージョンでは使用できなくなります。

// Assuming you already have $data = '<table>'; 

if(mysql_num_rows($result) > 0) 
{ 
    $number = 1; 
    while($row = mysql_fetch_assoc($result)) 
    { 
     $data .= '<tr> 
         <td>'.$row['register_status'].'</td> 
         <td>';  // Close $data .=, do if, open $data .= again 
          if($row['status']=='Active') 
          { 
           $data .= '<span class="glyphicon glyphicon-time" aria-hidden="true" style="color:orange"></span>'; 
          } 
        $data .= '</td> 
        </tr>'; 
     $number++;   // I don't see a use for $number 
    } 
} 
else 
{ 
    // records now found 
    $data .= '<tr><td colspan="6">Records not found!</td></tr>'; 
} 

$data .= '</table>'; 

echo $data; 
関連する問題