0

申し訳ありませんが、PHPに関しては、せいぜい初心者ですので、優しくしてください。

データベースからいくつかの情報を取得し、クラスのプロパティとしてさまざまな値を返すクラスを作成しました。私は1行しか要求しないので、これはうまく機能します。

そのようです:

$mydata = new mydataclass;

$mydata->getaparticularrowofdata($uniqueid);

$value1 = $mydata->variable1;
$value2 = $mydata->variable2;
$value3 = $mydata->variable3;

私は次のようなことをしたいと思います:

$mydata = new mydataclass;

$mydata->getafewrowsofdata($somefieldvaluetomatch);

if ($mydata->count != 0) {

// some sort of loop to iterate through each row until at the end, each time replacing       the property values with the new data

echo $mydata->variable1;
echo $mydata->variable2;
echo $mydata->variable3;

//

}

これは明らかに単なる例です。私が理にかなっていることを願っています。

これは実行可能ですか?もしそうなら、いくつかのサンプルコードが最もありがたいです:)

答えはとても簡単かもしれませんが、どういうわけか今晩は頭を包み込むことができないようです。

どうもありがとう!

4

2 に答える 2

0

データを取得してからデータを反復処理するときのプロパティを変更するのではなくmydataclass(これは多くの副作用であり、クラスを使用して複数のデータ セットを同時に選択することはできません)、getafewrowsofdataメソッドは、データの配列 (行ごとに 1 つの要素) を返すか、Iteratorインターフェイスを実装する結果オブジェクトを返します。

PDO を使用している場合、これを実現する簡単な方法は、getafewrowsofdata関数fetchAllで PDO のメソッドを使用することです。これにより、カスタム クラスのオブジェクトを返すこともできます (例 4 を参照)。

于 2012-06-13T23:56:36.997 に答える
0

返される結果セットの形式によって多少異なりますが、例を使用して結果セットを反復処理する方法の例をいくつか示します。

結果セットをオブジェクトとして返す場合:

  $resultsObject = $mydata->getafewrowsofdata($somefieldvaluetomatch);

  foreach($resultsObject as $result)
  {
    echo $result->variable1;
    echo $result->variable2;
    echo $result->variable3;
  }

結果セットを配列として返す場合:

  $resultsArray = $mydata->getafewrowsofdata($somefieldvaluetomatch);

  foreach($resultsArray as $result)
  {
    echo $result['variable1'];
    echo $result['variable2'];
    echo $result['variable3'];
  }
于 2012-06-13T23:37:23.293 に答える