2012-08-30 46 views
2

我正在使用Sugar Pro 6.1,并且想知道如何从产品表中检索所有带有其id的产品。我试着用下面的代码我如何从SugarCRM中的表中检索所有记录?

$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

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

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

即使我同意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; 
} 
相关问题