0

抱歉,我在 PHP 方面充其量只是个新手,所以请保持温和。

我创建了一个类,它将从数据库中获取一些信息并将各种值作为类的属性返回。效果很好,因为我只要求一排。

像这样:

$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

这在一定程度上取决于您返回的结果集的格式,但这里有一些示例,说明如何使用您的示例遍历结果集。

如果将结果集作为对象返回:

  $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 回答
0

与其修改mydataclass检索数据并随后遍历数据的属性(这是很多副作用,而且您将无法使用您的类同时选择多组数据),我建议您让您的getafewrowsofdata方法返回数据数组(每行一个元素)或返回实现Iterator接口的结果对象。

如果您使用 PDO,一个简单的方法是让您的getafewrowsofdata函数使用fetchAllPDO 的方法。这甚至可以返回自定义类的对象(参见示例 4)。

于 2012-06-13T23:56:36.997 回答