我的应用程序的javascript设置为显示某些mysql数据列,但是如果某个特定列(col3)中没有数据,js将不显示col3的数据,只显示mysql SELECT语句中的其余部分,即col3 =“”,不显示col3。
在某些情况下,无论是否有数据,我都希望js不显示它,但我更喜欢在php中编写逻辑。
目前,如果我将col3从select语句中删除,js会将其显示为“undefined”。
我想知道在mysql SELECT语句中是否有一种方法可以使col3等于空字符串,无论它是否包含数据?
或者我必须将每个col3结果设置为“”...
while ( $row=$result->fetch_assoc() ) { $row['col3']=""; $resultArray[]=$row; }
谢谢。
答案 0 :(得分:1)
您最好的选择可能是ISNULL
或相关功能。
在PHP方面,您可以使用array_merge
:
将一个或多个数组的元素合并在一起,以便将一个值的值附加到前一个数组的末尾。它返回结果数组。
例如:
$defaults = array( 'col3' => '' );
$row = array_merge( $defaults, $row );
如果你知道你的值将是NULL
(而不是不存在),那么使用以下函数(未经测试):
function array_merge_isset() {
$args = func_get_args();
$result = array();
foreach( $args as $arr ) {
if( !is_array( $arr ) ) {
continue;
}
foreach( $arr as $k=>$v ) {
if( isset( $v ) ) {
$result[ $k ] = $v;
}
}
}
return $result;
}