如何获取PHP中对象数组的记录数

时间:2017-06-23 15:14:23

标签: php mongodb

我正在尝试显示从我的mongo 3.4数据库返回的记录总数。对于这个特定的查询,结果应该是380,但它显示14489.我确信这是一个简单的我缺少/忘记PHP

这是代码:(包括一些关于我正在处理的变量类型的调试语句)

       $numrecords = count($records);                                
       echo"<BR><font color=red>".gettype($records)."</font>";
       echo"<BR><font color=red>".sizeof($records)."</font>";
       if (  $numrecords > 0 ) {
              echo "<tr><td colspan='5'><h3>Record Count: ".$numrecords ."</h3></td></tr>";
              echo "<tr><th>PH Number</th><th>Department</th></tr>";
              foreach ( $records as $rec ) {
                     if (!empty($rec->department)) {                                                                                          
                         echo "<tr>";
                         echo "<td>". $rec->phnum . "</td>";
                         echo "<td>". $rec->department . "</td>";
                         echo "</tr>";
                     }   
              } //end for 
       } else {
              echo "<tr><td colspan='5'>No matching data</td></tr>";                                  
       } 

它表示对象类型是'array'。我一直在玩count()和sizeof()

任何提示将不胜感激。

1 个答案:

答案 0 :(得分:-1)

因此它显示了表中正确的行数,但计数显示的数量多于显示的表中的数量?

尝试在查询后使用msqli_num_rows

下面是一个示例,由于您没有提供查询代码,因此您必须根据需要进行更改

$sql = "SELECT * FROM table_name WHERE datarow='$datarow'";
$result = mysqli_query($conn, $sql);
//this is where you count the number of rows returned from this query.
$count = mysqli_num_rows($result);

如果这不起作用,则表示您的查询无法满足您所需的规格。