Reputation: 1333
I am using Sugar Pro 6.1 and want to know that how can i retrieve all the products with their ids from the products table. I am trying with the following code
$sql = "SELECT id, name FROM products order by name";
$result = $GLOBALS["db"]->query($sql);
$products = $GLOBALS["db"]->fetchByAssoc($result);
but it always returns only the first record.
Is it possible to grab all the products with their ids to display them in a html dropdown, i want to display that drop down in a javascript file thats why i am using the ajax call and in a seperate php file i am using the above code that returns the ouput to the ajax call.
Any help will be appreciated!
Upvotes: 5
Views: 12572
Reputation: 15755
Even though i agree with answer posted by Pelish8. But This is also the another way to fetch data form database
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;
}
Upvotes: 2
Reputation: 129
You need to exclude products that are deleted.
$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;
}
Upvotes: 6
Reputation: 2208
fetchByAssoc() only grabs one record at a time. Instead, you need to iterate thru calling fetchByAssoc() like this...
$sql = "SELECT id, name FROM products order by name";
$result = $GLOBALS["db"]->query($sql);
while ( $product = $GLOBALS["db"]->fetchByAssoc($result) ) {
$products[] = $product;
}
Upvotes: 8