当遍历foreach下面的循环时echo,每次执行循环时都会得到一个输出。如何将这些消息简化为最后一条消息?
即只有"success messages"回声"Success",如果发生错误("fail" or "nothing saved" message)则回声"Fail"。一旦发生错误,循环就不应停止,而应完全进行。最后,我只想知道是发生错误还是未保存结果。
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.";
}
}
}
Run Code Online (Sandbox Code Playgroud)
每个人都给你一个答案。我的建议如下:
<?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);
?>
Run Code Online (Sandbox Code Playgroud)
注意:-
1.您想要的最终状态将以成功或失败的形式出现。
2.它将清楚地显示成功执行了多少查询以及失败了多少查询。
3.您还可以检查哪些查询失败以及为什么(通过检查失败的数组)