如何从SugarCRM中的表中检索所有记录?

时间:2012-08-30 07:35:34

标签: php ajax sugarcrm

我正在使用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调用的输出。

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:6)

fetchByAssoc()一次只能抓取一条记录。相反,你需要像这样通过调用fetchByAssoc()来迭代......

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

答案 1 :(得分: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;
}

答案 2 :(得分: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;
}