Должно быть как-то так:
$rows=array();
$result=mysql_query("SELECT id,address,phone,delivery_id FROM s_orders WHERE status = '0' AND paid = '1' AND delivery_id != '5' ORDER BY phone");
for($i=0;$i<$n;$i++) {
$row=array("id" => mysql_result($result,$i,"id"),
"address" => mysql_result($result,$i,"address"),
"phone" => mysql_result($result,$i,"phone")
);
array_push($rows, $row);
}
mysql_close($db);
В $rows будет массив ассоциативных массивов результатов
$rows[0] - первый результат, $rows[0]["id"] - id первого результата
Новый вариант:
$addrs=array();
$result=mysql_query("SELECT id,address,phone,delivery_id FROM s_orders WHERE status = '0' AND paid = '1' AND delivery_id != '5' ORDER BY phone");
for($i=0;$i<$n;$i++) {
array_push($addrs, mysql_result($result,$i,"address"));
}
mysql_close($db);
Вот теперь можно сделать:
$Stat->createCampaign("testName",
"Адреса заказов: $addrs",
$addrbook_id, "", 0, 0, 0, "");
Если там функция ожидала массив адресов, то вот он ей, массив адресов.
Еще дополнение:
$Stat->createCampaign("testName",
"Адреса заказов: " . implode(',', $addrs),
$addrbook_id, "", 0, 0, 0, "");
Теперь эта функция, которая ожидала строку, получит строку, а не массив