2

私はそれが私が望むことをするようにしようとしているzencartで遊んでいます、しかし私はグーグルに何をするかについての考えを使い果たしました。

zencart関数を使用してDBにクエリを実行すると、ソフトウェアは次のようなオブジェクトを返します。

queryFactoryResult Object
(
[is_cached] => 
[resource] => Resource id #117
[cursor] => 11
[EOF] => 
[fields] => Array
    (
        [products_id] => 5582
        [products_description] => description here
        [products_name] => Lucky magnet – Each petal...
        [products_type] => 1
        [products_quantity] => 0
        [products_image] => EachPetalMag.jpg
        [products_price] => 3.4000
        [products_status] => 1
        [products_ordered] => 14
        [master_categories_id] => 21
        [supplier_id] => 7
    )
)

他のことを行う前に、master_categoriesがいくつあるかを数えるために、一度ループする必要があります。

while (!$products->EOF) {
  $products_count++;
  $supcats[$products->fields['master_categories_id']] = $products->fields['master_categories_id'];
  $products->MoveNext();
}

次に、上記のようにwhileループを使用してオブジェクトを再度ループする必要があります。これを試しました。

reset($products); 

$products->EOF = FALSE;

しかし、それらは機能しません。クエリを再度送信せずにこれを行う方法はありますか?

4

1 に答える 1

0

Zen Cart の queryFactoryResult に対する通常の配列のような操作は、配列ではないため機能しません。したがって、これも機能しません。

reset($products);

変数を再度ループするには、queryFactoryResult->Move(row_number) メソッドを使用します。

$products->Move(0);
于 2012-07-12T06:52:42.407 に答える