0

このエラーの原因を突き止めようと、このコードを何年にもわたってチェックしてきました。予期しない T_ELSE と言っており、コードの最後の else を指しています。誰かが私の間違いを指摘できますか。どうもありがとう

<?php

    error_reporting(E_ALL);

// AFTER SUCCESSFUL QUERY
if (mysql_num_rows() == 0)
{
    echo '<div class="no-rec">No Record Found !</div>';
}
else
{
    while ($row = mysql_fetch_assoc($rsd))
    {
        $ticket  = $row['ticket_frm'];
        $rowdate = date("d/m/Y",strtotime($row['date_frm']));
        $id      = $row['id_frm'];
        $from    = $row['from_frm'];
        $subject = $row['subject_frm'];
        $message = $row['message_frm'];

        $myString = <<<ENDMYSTRING
          <div class="each_rec">
          <div class="record blue" data-message="$message" data-subject="$subject" data-rowdate="$rowdate" data-from="$from">
          <img src="images/sml_new_mail_icon.gif" class="mailIcon" alt="" /><span class="iconSubject">$subject</span>
          <div class="rowdate">$rowdate</div>
          <span class="mailFrom">$from</span>
          </div>
          <br />
ENDMYSTRING;
          echo $myString;
    }
}

else

{

  echo 'you must enter a ticket#';

    //$sql = "select * from contact_frm";
    //var_dump(mysql_error());
}
?>
4

4 に答える 4

3
if (mysql_num_rows() == 0) {

} else {
    ^ maybe here you could put elseif()
} else {
   // or just remove this else
}
于 2012-12-08T10:25:55.227 に答える
1

はい、whileの直前にif(mysql_num_rows()== 0)テスト用のelseがすでにあります。そして、あなたは「チケットを提供しなければならない」ために別のものを提供します

おそらくあなたは意味しました

elseif (mysql_num_rows() >= 1)

whileループの前

于 2012-12-08T10:26:32.113 に答える
1

if-else-elseあなたは声明のように見えるものを持っています。私はそれが有効な言語を知りませ:-)

ロジックや言語要素の使用法を再考する必要があります。

ここでいくつかのインテリジェントな推測を行うと(私は危険に満ちていることに気づきます)、前に返された行をチェックしているという事実は、elseチケット番号が入力されていないことを示すブロックがこの時点よりずっと前に行われたはずであることを示しているようです。

if-elseしたがって、カットアンドペーストエラーであるか、間違ったポイントにを挿入したか、ブロックif内に現在のものがあるものの前に別のものが欠落している可能性があります。true

私が最初にすることは、2番目のelseビットを完全に取り除き、そこから始めることです。

次に、論理的な問題がある場合は、ここに別の質問を投稿して、それを緩めます。

于 2012-12-08T10:27:14.137 に答える
0

ここでは、2つのelse句を追加しました。

于 2012-12-08T10:28:07.197 に答える