0

バックグラウンド

  • これは、MySQL テーブルから 4 つのフィールドを選択する次のコードです。a_aif
  • このデータを html テーブルに表示し、行の背景をハイライト表示したいと考えています。a_aif.aif_idremaining_if.aif_id
  • 上記のこの条件を満たす変数を SQL クエリで定義し、それを定義しましたremaining_aifs

問題- 問題があると思われる場所については、赤い矢印/強調表示された構文を参照してください...

ここに画像の説明を入力

PHP スクリプト

<?php
require_once 'config.php';

$dbh = new PDO($dsn, $dbuser, $dbpass);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$result = $dbh->query("
    SELECT a_aif.aif_id,
      a_aif.fee_source_id,
      a_aif.company_name_per_sedar,
      a_aif.document_filing_date,
      IF (a_aif_remaining.aif_id IS NULL, 0, 1) remaining_aifs
    FROM  a_aif
      LEFT JOIN a_aif_remaining
        ON a_aif_remaining.aif_id = a_aif.aif_id
    ORDER BY aif_id DESC");

$result->setFetchMode(PDO::FETCH_ASSOC);

if ( !empty($result) ) : endif;

?>

<table>
<tr>
    <th><b>Document ID</b></th>
    <th><b>Pubco Name</b></th>
    <th><b>Filing Date</b></th>
    <th><b>PDF</b></th>
</tr>

<?php foreach($result as $index => $row) : ?>
<tr
    <?php
        if('a_aif.aif_id' === 'remaining_aifs'
        echo "<tr class='highlighted'>";
        else echo "<tr>";
    ?>
>
    <td><?php echo $row[fee_source_id]; ?></td>
    <td><?php echo $row[company_name_per_sedar]; ?></td>
    <td><?php echo $row[document_filing_date]; ?></td>
    <td></td>
</tr>
<?php endforeach;
$dbh = NULL;
?>
</table>
4

3 に答える 3

1

1)empty()は、渡した値が次のいずれかである場合に true を返す構造です。

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)

2)$resultに渡される値ですempty()。他のコードを投稿していないため、何に設定されているかわかりません。

3):は、if ステートメントのブロックを定義するための代替構文です。endif;ブロックの最後で終了する必要があります。

この代替構文は、PHP を HTML と混合して (通常はテンプレートで) 使用する場合に非常によく使用されます。コードは次のようになります。

<?php if ( !empty($result) ) : ?>
   <span class="result"><?php echo $result; ?></span>
<?php endif; ?>

<?php if...と行の間に入れるものは、<?php endif; ?>php コードや html/text など、何でもかまいません。

より詳しい情報:

http://www.php.net/empty

http://www.php.net/manual/en/control-structures.alternative-syntax.php

于 2013-01-03T07:18:46.970 に答える
0

これは「ifステートメント」の代替構文です

あなたが使用することができます

<?php 
if ($condition):
//some code
else:
// some code
endif;
?>

したがって、例1と2は、結果が空でない場合に渡される条件です。

于 2013-01-03T07:16:11.970 に答える
0

配列は次のようになります。

$result= array(); // array defined

$result= ["name","last name"]; // array elements

$result= []; // empty array

構文:

    <?php if ( !empty($result) ) : ?>
       hello control in if 
    <?php else: ?>
       in else condition
    <?php endif; ?>

要素がないか要素があるかempty(); を確認するphp関数です。$result

:構文要素です。

于 2013-01-03T07:35:38.040 に答える