데이터가 데이터베이스에서 삭제되지 않습니다. 추가하고 볼 수 있습니다.데이터베이스에서 데이터베이스를 삭제할 수 없습니다
넣어두면 print_r($submissions);
내 데이터를 볼 수 있습니다. 예 : Array ([0] => 2)
$count++;
은 if 문 외부에 계산을 넣지 않으면 항상 0
으로 표시됩니다. echo "we got an error <br>";
은 제출할 제출물이있는 횟수만큼 표시됩니다. 나는 SQL 쿼리를 테스트하고 잘 작동한다. 지금 어디서 이걸 써야할지 모르겠다. 아래에 관련 코드 :
모델 :
function deleteSubmission($conn,$submission_id)
{
$query = "DELETE FROM submissions WHERE submission_id=:submission_id";
$stmt = $conn->prepare($query);
$stmt->bindValue(':submission_id',$submission_id);
$affected_rows = $stmt->execute();
if($affected_rows==1)
{
//echo $affected_rows;
echo ($affected_rows) ? "true" : "false";
echo " working ";
return true;
}else{
//echo $affected_rows;
echo ($affected_rows) ? "true" : "false";
echo " not working ";
return false;
}
}
컨트롤러 :
//they didn't submit the form
if(!isset($_POST["deleteSubmissionsBtn"]))
{
header("Location:all-submissions-delete.php");
exit;
}
$msg;
//validate
if(isset($_POST['submissions']))
{
$submissions=$_POST['submissions'];
$conn=getConn();
$count=0;
foreach ($submissions as $submission_id)
{
if(deleteSubmission($conn,$submission_id))
{
$count++;
}
else{
echo "we got an error <br>";
}
}
print_r($submissions);
//echo $submission_id;
$conn=NULL;
$msg="Successfully deleted $count submissions";
}else{
$msg="You need to select some submissions to delete";
}
include("views/delete-feedback-view.php")
?>
보기 :
echo "<form action='delete-submissions.php' method='POST'>";
foreach($allSubmissions as $submission)
{
echo "<div>";
echo "<label>".$submission->title."</label>";
echo "<input type='checkbox' value='".$submission->submission_id."' name='submissions[]'/>";
echo "</div>";
}
echo "<input type='submit' name='deleteSubmissionsBtn' value='delete submissions'>";
echo "</form>";
쿼리를 실행 한 후 실행 오류가 있으면 확인하십시오. http://stackoverflow.com/questions/3999850/pdo-error-message – tilz0R
또한 도움이되는 오류 메시지가 있으면 오류 로그를 확인하십시오. –