3

以下代码显示了$rows来自 MySQL 查询的数组中的记录数组。我还添加了一条if语句来检查是否$rows为空,但它不起作用。

$rows = array();

$result1 = mysql_query("SELECT * FROM TestPhase where Pid<10", $db) or die("cannot select");
while($row = mysql_fetch_array($result1)) {
  $rows []= array(
    'id' => $row['id'],
    'parent' => $row['parent'],
    'name' => $row['name'],
  );

}


if($rows == ""){
    echo "No Data";

    }

这种if说法是行不通的。如何检查数组是否返回空并回显“无数据”。

我如何检查javascript中的数组是否为空?我已将$rows数组放在var treeData.

if (treeData) is empty{
$("button").hide();
     }

如何检查是否treeData为空以隐藏按钮。

4

5 回答 5

28

PHP
简单使用empty(),即

if(empty($rows)){
    echo 'No Data';
}

或者你也可以使用count(),即

if(count($rows) < 1){ // or if(count($rows) === 0)
    echo 'No Data';
}

JavaScript
你可以使用该length属性

if(treeData.length == 0){
    $("button").hide();
}
于 2012-09-25T14:46:27.493 回答
3

用于count检查

if(!count($rows)){
    echo "No Data";
}

使用 JavaScript,这里是示例

var arr = new Array('one', 'two', 'three'); //assume you have list of values in array
if(!arr.length){ //if no array value exist, show alert()
   alert('No Data');
}
于 2012-09-25T14:46:37.500 回答
1

您不能将数组视为字符串(即$rows == "")。使用count()orempty()代替:

if(count($rows) == 0)
{
    echo "No Data";
}
于 2012-09-25T14:46:49.800 回答
0

使用empty

if( empty( $rows) ) { ... }
于 2012-09-25T14:46:54.193 回答
0
if ( count( $rows ) == 0 ) {...}
于 2012-09-25T14:46:57.047 回答