5

Sugar Pro 6.1 を使用していますが、製品テーブルからすべての製品を ID とともに取得する方法を知りたいです。次のコードで試しています

$sql = "SELECT id, name FROM products order by name"; 
$result = $GLOBALS["db"]->query($sql);
$products = $GLOBALS["db"]->fetchByAssoc($result);

ただし、常に最初のレコードのみが返されます。

すべての製品を ID とともに取得して HTML ドロップダウンに表示することは可能ですか? そのドロップダウンを JavaScript ファイルに表示したいので、ajax 呼び出しを使用し、別の php ファイルで上記のコードを使用しています。出力を ajax 呼び出しに返します。

どんな助けでも大歓迎です!

4

3 に答える 3

8

fetchByAssoc()は、一度に1つのレコードのみを取得します。代わりに、次のようにfetchByAssoc()を呼び出すことで反復する必要があります...

$sql = "SELECT id, name FROM products order by name"; 
$result = $GLOBALS["db"]->query($sql);
while ( $product = $GLOBALS["db"]->fetchByAssoc($result) ) {
     $products[] = $product;
}
于 2012-08-30T12:59:47.033 に答える
6

削除された商品を除外する必要があります。

$sql = "SELECT id, name FROM products WHERE deleted=0 order by name";
$result = $GLOBALS["db"]->query($sql);
while ( $product = $GLOBALS["db"]->fetchByAssoc($result) ) {
     $products[] = $product;
}
于 2012-08-31T12:08:36.570 に答える
2

Pelish8が投稿した回答には同意しますが。しかし、これはデータベースからデータを取得する別の方法でもあります

global $db;
$sql   =    "SELECT id, name FROM products WHERE deleted=0 order by name";
$result    =    $db->query($sql);
while($product    =    $db->fetchByAssoc($result)){
    $products[] = $product;
}
于 2013-09-04T05:50:33.027 に答える