0

コードに問題があります。私はこのようなコードを持っています:

<?php
     include('php/SelectHistory.php');
     include('php/SelectSmallHistoryUser.php');
     include('php/SelectSmallHistoryProject.php');
     include('php/SelectSmallHistoryFunctionality.php');

     $newHistoryRow = SelectHistory();

     echo "<table width='100%'>";

     if (count($newHistoryRow) > 0)
     {
         foreach ($newHistoryRow as $current)
         {
              $chosenUser = SelectSmallHistoryUser($current->userID);
              $chosenProject = SelectSmallHistoryProject($current->projectID);
              $chosenFunctionality = SelectSmallHistoryFunctionality($current->functionalityID);
              echo "<tr>";
              echo "<td>" . $chosenUser->fullName . " was busy with " . $chosenFunctionality->functionalityName . " on " . $chosenProject->projectName . " at " . $current->lastModifiedDate;
              echo "</tr>";
              unset($chosenUser);
              unset($chosenProject);
              unset($chosenFunctionality);
          }
      }
      else
      {
          echo "<tr><td>No History To Display.</td></tr>";
      }

      echo "</table>";
?>

私が抱えている問題は、ループ内で、クラスに存在するメソッドを宣言していることです。これで、データベースからのデータを処理しているため、物の量が複数ある場合、「クラスはすでに宣言されています」というエラーが発生します。

これを修正する方法はありますか、それとも使用できる別の方法がありますか?

4

4 に答える 4

1

私が推測する新しいものを作りなさい。$var = new SelectHistory();

于 2013-02-11T10:52:41.527 に答える
1

これはクラスを作成する正しい方法です:

class TestClass {
    public $property;
    //some other properties
    function __construct($id) {
        $this->property=$id;
        //do some other stuff
    }
    //some other functions
}

そして、クラスのインスタンスを作成する正しい方法は次のとおりです。

 $test = new TestClass($id);

関数__construct()newキーワードに注意して、スクリプトを再実行してみてください。

于 2013-02-11T11:06:50.517 に答える
1

上記のようにオブジェクトを作成するのではなく、必要なデータを取得するための静的関数を定義する必要があります。オブジェクトを作成せずに、以下のように関数を呼び出すことができます。

SelectSmallHistoryUser::getData($current->userID);

ループを使用してオブジェクトを作成することはできません。続きを読む

于 2013-02-11T11:06:48.300 に答える
0

ループ内でクラスを宣言または含めることは良くありません。しかし、これを確認してください:http://www.php.net/manual/en/function.class-exists.php

于 2013-02-11T11:03:35.130 に答える