dongya4089 2016-01-06 19:35
浏览 19
已采纳

如果$ result不存在,则在mysql_fetch_array内部回显值

I am populating rows inside a table from Mysql, I have an echo <td> inside a table, what I've been trying to accomplish is inside the while mysql_fetch_array, to echo " Absent" IF the query didn't return any records for that specific html table row, I tried using the mysql_num_rows==0, but it doesn't work as there are rows that DO exist in the query and thus using this approach will not work.

$sqlsun = "SELECT * FROM cscc_attendance WHERE cscc_attendance.empId= '$row[empId]' AND cscc_attendance.login_datetime>'".$this_start1->format('Y-m-d 00:00:00')."' AND cscc_attendance.login_datetime<'".$this_start1->format('Y-m-d 23:59:59')."' GROUP BY cscc_attendance.empId";

    $sqlsunexe = mysql_query($sqlsun);

     echo "<td style=\"background-color:#e6e6e6\"><b>";

      while($rowdate1 = mysql_fetch_array($sqlsunexe))
    {   
     if (empty($rowdate1["login_datetime"])) 
        {
            //IF NO MYSQL RESULT, ECHO TO ROW TD:
            echo "ABSENT";
        }
        else
        {
            //THERE IS A QUERY RESULT, FILL THE TD IN TABLE:
            $newhour = new DateTime($rowdate1["ready_time"]);
            $newhourmodstr = $newhour->modify('-1 hour');
            echo $newhourmodstr->format('H:i:s');
        }
    }
   echo "</b></td>";"
  • 写回答

1条回答 默认 最新

  • dppxp79175 2016-01-06 19:53
    关注

    This is how your code should be using mysqli:

    <?php
    $con = mysqli_connect("localhost", "root", "", "database");
    // Evaluate the connection
    if (mysqli_connect_errno()) {
        echo mysqli_connect_error();
        exit();
    } else {
        $q = "SELECT * FROM `tablename` WHERE `fieldname` = 'value'";
        $sqlsunexe = mysqli_query($con, $q);
    
        echo "<td style=\"background-color:#e6e6e6\"><b>";
        // check if return data
        if ($sqlsunexe->num_rows > 0){
            while($rowdate1 = mysqli_fetch_array($sqlsunexe)){
                //THERE IS A QUERY RESULT, FILL THE TD IN TABLE:
                $newhour = new DateTime($rowdate1["ready_time"]);
                $newhourmodstr = $newhour->modify('-1 hour');
                echo $newhourmodstr->format('H:i:s');
            }
        } else {
            //IF NO MYSQL RESULT, ECHO TO ROW TD:
            echo "ABSENT";
        }
    
       echo "</b></td>";
    }
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在