Как я могу получить все записи из таблицы в SugarCRM?

Я использую Sugar Pro 6.1 и хочу знать, как я могу получить все продукты с их идентификаторами из таблицы продуктов. Я пытаюсь использовать следующий код

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

но он всегда возвращает только первую запись.

Можно ли захватить все продукты с их идентификаторами, чтобы отобразить их в раскрывающемся списке html, я хочу отобразить этот раскрывающийся список в файле javascript, поэтому я использую вызов ajax, а в отдельном файле php я использую приведенный выше код который возвращает вывод на вызов ajax.

Любая помощь будет оценена!


person Sheikh Rahat Ali    schedule 30.08.2012    source источник


Ответы (3)


fetchByAssoc() захватывает только одну запись за раз. Вместо этого вам нужно повторить вызов fetchByAssoc() следующим образом...

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

Вам нужно исключить продукты, которые удаляются.

$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;
}
person Pelish8    schedule 31.08.2012

Хотя я согласен с ответом, опубликованным 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;
}
person Amitesh Bharti    schedule 04.09.2013