Oct
17
今天写了一个方法,返回一个查询记录集数组.
因为返回的是一个多维数组,所以要在返回时再将数组取出一层.直接返回.
开始写的联合查询时,用的是
$sql = "select * from A";
这样结果返回时,压入新的数组中,关连两张表时,会把符合条件的第二张表所有的字段也抽出来了。出现两个id,这样结果就会将第二张表的id压入到新的数组对象中。
而这样,就不是我所需要的值了。出现结果错误了。
后来,发现一个新东东,如果单独抽取字段,即:
$sql = "select A.id, A.name from A";
这样返回时,只返回了这两个字段。id,name
附代码:
function searchList($zhoz_type = null, $offset = null, $limit = null) {
// 开始写sql
$sql = "select A.id, A.name from A";
if ($Zhoz_type == "MYFLASH") {
$sql .= " inner join B on (A.id = B.zhoz_id and B.delete_flg = false and B.is_open = true)";
}
$sql .= " where A.is_checked = false and A.delete_flg = false";
if ($Zhoz_type != null) {
$sql .= " and A.zhoz_type = '" . $zhoz_type . "'";
}
if ($offset != null && is_numeric($offset)) {
$sql .= " OFFSET " . $offset;
}
if ($limit != null && is_numeric($limit)) {
$sql .= " LIMIT " . $limit;
}
// 执行
$db = FlashProfDBManager::getInstance();
$data = $db->executeQuery($sql);
// 将结果新压入
$result = array();
foreach ($data as $row) {
$tmp = new ZhozMst($row);
array_push($result, $tmp);
}
// 返回
return $result;
}
因为返回的是一个多维数组,所以要在返回时再将数组取出一层.直接返回.
开始写的联合查询时,用的是
$sql = "select * from A";
这样结果返回时,压入新的数组中,关连两张表时,会把符合条件的第二张表所有的字段也抽出来了。出现两个id,这样结果就会将第二张表的id压入到新的数组对象中。
而这样,就不是我所需要的值了。出现结果错误了。
后来,发现一个新东东,如果单独抽取字段,即:
$sql = "select A.id, A.name from A";
这样返回时,只返回了这两个字段。id,name
附代码:
function searchList($zhoz_type = null, $offset = null, $limit = null) {
// 开始写sql
$sql = "select A.id, A.name from A";
if ($Zhoz_type == "MYFLASH") {
$sql .= " inner join B on (A.id = B.zhoz_id and B.delete_flg = false and B.is_open = true)";
}
$sql .= " where A.is_checked = false and A.delete_flg = false";
if ($Zhoz_type != null) {
$sql .= " and A.zhoz_type = '" . $zhoz_type . "'";
}
if ($offset != null && is_numeric($offset)) {
$sql .= " OFFSET " . $offset;
}
if ($limit != null && is_numeric($limit)) {
$sql .= " LIMIT " . $limit;
}
// 执行
$db = FlashProfDBManager::getInstance();
$data = $db->executeQuery($sql);
// 将结果新压入
$result = array();
foreach ($data as $row) {
$tmp = new ZhozMst($row);
array_push($result, $tmp);
}
// 返回
return $result;
}
作者:@Everyday NetLog
地址:https://log.zhoz.com/read.php?28
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
MySQL和Postgr
数据库范式1NF 2NF

