我正在使用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调用的输出。
任何帮助将不胜感激!
答案 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;
}