간단한 블로깅 플랫폼을 만들려고 노력하고 있습니다. 이제는 내 페이지에 그 목록에있는 기사 목록이 있습니다. 내 SQL 데이터베이스 및 거기에 기사가 공개 또는 isnt 경우 열 상태입니다. 문제는이 모든 체크 박스를 쓸 수있는 부울로 쓰기가 어렵다는 것입니다 (체크 된 입력 1이면 else 0).PHP는 체크 박스를 통해 데이터베이스의 여러 값을 변경합니다. 부울
<input type="checkbox" name="public[<?php echo $postID ?>]">
그런 다음이 PHP를 사용할 수 있습니다 각각이 같은 이름의 ID를 가질 수 있도록 내가 잘못 생각하는 부분은, 배열 형식을 사용하여
<?php
if (isset($_POST['submit'])) {
try {
$stmt = $db->prepare('SELECT postID FROM blog_posts') ;
$idArray = $stmt->fetch();
for($i = $idArray; $i > 0; $i--){
if(document.getElementById($i).checked){
$public = 1;
} else {
$public = 0;
}
try {
$stmt = $db->prepare('UPDATE blog_posts SET public = :public WHERE postID = '$i) ;
$stmt->execute(array(
':public' => $public
));
}
}
}
?>The entire code can be found here on [Hastebin][1] Thanks in advance
'document.getElementById ($ i)'무엇을 의미합니까? 그건 자바 스크립트 코드가 아니라 php !! – FirstOne
양식을 사용하는 경우 숨겨진 입력에 true 또는 false 값을 추가하는 javascript 스크립트를 사용해야합니다. – Jojo01
문을 준비한 다음 실행하지 않고 가져 오는 것이 좋습니다. for 루프는 준비된 명령문을 성공적으로 수행 한 경우 배열이 될'-'을 시도합니다. PHP if 조건에 JavaScript 코드가 있습니다. catch 블록이없는 중첩 try 블록이 있습니다. 그것들은 제가 보는 주요 문제들입니다. –