您已经编写了以下函数来从我的数据库中获取值:
function getSlCreatedate($sid) {
$query1 = "SELECT Sub_type FROM `Sub` where `Sub_id` = $sid";
$queryresult1 = mysql_query($query1);
$row1 = mysql_fetch_assoc($queryresult1);
$type1 = $row1['created_ts'];
if($type1 == 'SL') {
$query2 = "SELECT Sub_attr_value FROM `Sub_attr_list` WHERE `Sub_attr_type_id` = 20 AND `Sub_id` = $sid";
$queryresult2 = mysql_query($query2);
$row2 = mysql_fetch_assoc($queryresult2);
$type2 = $row2['Sub_attr_value'];
if($type2 == " "){
$query3 = "SELECT Created_ts FROM `Sub` WHERE `Sub_id`= $sid";
$queryresult3 = mysql_query($query3);
$row3 = mysql_fetch_assoc($queryresult3);
return $row3['Created_ts'];
}
else {
return $type2['Sub_attr_value'];
}
}
else
return 0;
}
条件是什么我需要首先在数据库中检查给定“sid”值的Sub_type,如果返回“SL”作为结果,那么我需要从“Sub_attr_list”表中获取“Sub_attr_value”,如果此值返回空行或值为NULL,然后我将该sid的“Created_ts”值返回到页面,这里所有查询都正常工作,当我在我的PHP MyAdmin中单独执行时,任何人都可以指导我完成此操作,我'我无法从这里获取值到页面。
我页面中的函数调用如下:
$sldate = db_func::getSlCreatedate($sub_list[$i]['Sub_id']);
幸运的是,它没有显示任何错误,也没有显示预期的结果。
答案 0 :(得分:1)
function getSLCreatedDate($sid) {
$query = "SELECT s.created_ts, sa.Sub_attr_value FROM Sub s
LEFT JOIN Sub_attr_list sa ON sa.Sub_id=s.Sub_id AND sa.Sub_attr_type_id='20'
WHERE s.Sub_id='" . mysql_real_escape_string($sid) . "'"
$sql = mysql_query($query);
$row = mysql_fetch_array($sql);
if($row['created_ts'] == 'SL')
return isset($row['Sub_attr_value']) ? $row['Sub_attr_value'] : $row['created_ts'];
return 0;
}