php - 只为 foreach 循环显示一条消息

标签 php foreach

当循环通过下面的 foreach 循环时,每次执行循环时我都会得到一个 echo 输出。我怎样才能将这些消息减少到只有一条最终消息?

即如果只有"success messages" then echo "Success",如果发生错误("fail"or "nothing saved"message) then echo “失败”。一旦发生错误,循环将不会停止,而是完全继续进行。最后我只想知道是否发生错误或结果未保存。

if(!isset($_POST["submitbutton"])) {
  echo "Click this button to save your input.";
} else {
  foreach($_POST['tipp_id'] as $key => $tipp_id) {
    if($tipp_id > 0) {
      $result="
      //SQL query
      ";
      $query=mysqli_query($conn,$result);
      if($query) {
        echo "Success.<br>";
      } else {
        echo "Fail.<br>";
      }
    } else {
      echo "Nothing saved.";
    }
  }
}

最佳答案

您可以创建一个数组和一些计数变量来获取成功/失败计数以及哪个查询不成功。

<?php
$failed_query = array(); // create an empty array to get which query fails
$failed_count = 0; // count to come to know how many query failed
$success_count = 0; // count to come to know how many query succeed
if(!isset($_POST["submitbutton"])) {
  echo "Click this button to save your input.";
}else {
  foreach($_POST['tipp_id'] as $key => $tipp_id) {
    if($tipp_id > 0) {
      $result="//SQL query";
      $query=mysqli_query($conn,$result);
      if($query) { // if query runs
        $success_count++; // increase success counter
      } else {
        $failed_count++; // increase failed counter
        $failed_query[] = $result; // insert failed query to the array
      }
    }
  }
}
if($success_count > $failed_count){
    echo "final output is success";
 }else{
   echo "final output is failed";
 }
echo "query executed successfully(Number)".$success_count;
echo "query execution failed(Number)".$failed_count;
echo "Failed queries are <br/>";
echo "<pre/>";print_r($failed_query);
?>

注意:-

1.您将以成功或失败的形式获得您想要的最终状态。

2.它会让您清楚地了解有多少查询执行成功,有多少失败。

3.您还可以检查哪些查询失败以及原因(通过检查失败的数组)

关于php - 只为 foreach 循环显示一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38019156/

相关文章:

mysql - SQL 中的变量/For Each

php - Foreach 不显示结果

php - Mysql根据日期之间连接两个表

javascript - 通过 PHP 通过电子邮件发送 textarea HTML 代码以显示为 html

php - 如何连接 SQL 数据库和没有 SQL 数据库?

php - 计算多维数组中的值

php - [SQL/PHP]Fieldname为数字,类型为 "int"

CURL 错误(无法激活 CURLOPT_FOLLOWLOCATION)

php - 来自数组的 Foreach 循环以及如何包含它

windows - 如何正确循环遍历 Ansible 中 block 内任务的文件?