キャプチャの各書籍の背景色をステータスの変化に合わせて白色→ステータスと同色に変えたいです。
読了の場合→緑 未読の場合→赤 などです。
調べたのですが、他のボタンを押したときに、違う場所の色を変える方法が
のっておらず、見当がつきません。
どなたか教えていただけませんでしょうか。
以下、PHP抜粋です。
抜粋
// ここにMySQLを使ったなんらかの処理を書く // bookshelf_form.phpから送られてくる書籍データの登録 if (array_key_exists('submit_add_book', $_POST)) { // まずは送られてきた画像をuploadsフォルダに移動させる $file_name = $_FILES['add_book_image']['name']; $image_path = './uploads/' . $file_name; move_uploaded_file($_FILES['add_book_image']['tmp_name'], $image_path); // データベースに書籍を新規登録する $sql = 'INSERT INTO books (title, image_url, status) VALUES(?, ?, "unread")'; $statement = mysqli_prepare($database, $sql); mysqli_stmt_bind_param($statement, 'ss', $_POST['add_book_title'], $image_path); mysqli_stmt_execute($statement); mysqli_stmt_close($statement);
省略
} // ステータス変更の処理 if (array_key_exists('submit_book_unread', $_POST)) { // 未読へ変更 $sql = 'UPDATE books SET status="unread" WHERE id=?'; // 実行するSQLを作成 $statement = mysqli_prepare($database, $sql); // セキュリティ対策をする mysqli_stmt_bind_param($statement, 'i', $_POST['book_id']); // id=?の?の部分に代入する mysqli_stmt_execute($statement); // SQL文を実行する mysqli_stmt_close($statement); // SQL文を破棄する } elseif (array_key_exists('submit_book_reading', $_POST)) { // 読中へ変更 $sql = 'UPDATE books SET status="reading" WHERE id=?'; $statement = mysqli_prepare($database, $sql); mysqli_stmt_bind_param($statement, 'i', $_POST['book_id']); mysqli_stmt_execute($statement); mysqli_stmt_close($statement); } elseif (array_key_exists('submit_book_finished', $_POST)) { // 読了へ変更 $sql = 'UPDATE books SET status="finished" WHERE id=?'; $statement = mysqli_prepare($database, $sql); mysqli_stmt_bind_param($statement, 'i', $_POST['book_id']); mysqli_stmt_execute($statement); mysqli_stmt_close($statement); } elseif (array_key_exists('submit_book_hold', $_POST)) { // 保留へ変更 $sql = 'UPDATE books SET status="hold" WHERE id=?'; $statement = mysqli_prepare($database, $sql); mysqli_stmt_bind_param($statement, 'i', $_POST['book_id']); mysqli_stmt_execute($statement); mysqli_stmt_close($statement); } // 未読数のカウント $sql = 'SELECT COUNT(*) as count FROM books where status = "unread"'; $result = mysqli_query($database, $sql); $record = mysqli_fetch_assoc($result); $count_unread = $record['count']; // 読中数のカウント $sql = 'SELECT COUNT(*) as count FROM books where status = "reading"'; $result = mysqli_query($database, $sql); $record = mysqli_fetch_assoc($result); $count_reading = $record['count']; // 読了数のカウント $sql = 'SELECT COUNT(*) as count FROM books where status = "finished"'; $result = mysqli_query($database, $sql); $record = mysqli_fetch_assoc($result); $count_finished = $record['count']; // 保留数のカウント $sql = 'SELECT COUNT(*) as count FROM books where status = "hold"'; $result = mysqli_query($database, $sql); $record = mysqli_fetch_assoc($result); $count_hold = $record['count']; // どのボタンを押したか(どのステータスで絞り込みをするか)を判定し、SELECT文を変更する if (array_key_exists('submit_only_unread', $_POST)) { // 未読ステータスの書籍だけを取得する $sql = 'SELECT * FROM books WHERE status="unread" ORDER BY created_at DESC'; } elseif (array_key_exists('submit_only_reading', $_POST)) { // 読中ステータスの書籍だけを取得する $sql = 'SELECT * FROM books WHERE status="reading" ORDER BY created_at DESC'; } elseif (array_key_exists('submit_only_finished', $_POST)) { // 読了ステータスの書籍だけを取得する $sql = 'SELECT * FROM books WHERE status="finished" ORDER BY created_at DESC'; } elseif (array_key_exists('submit_only_hold', $_POST)) { // 保留ステータスの書籍だけを取得する $sql = 'SELECT * FROM books WHERE status="hold" ORDER BY created_at DESC'; } else { // 登録されている書籍を全て取得する $sql = 'SELECT * FROM books ORDER BY created_at DESC'; } // いずれかの $sql を実行して $result に代入する $result = mysqli_query($database, $sql); // ステータスによってブックアイテムの背景色を変える。 // MySQLを使った処理が終わると、接続は不要なので切断する mysqli_close($database);
?>
Bookshelf | カンタン!あなたのオンライン本棚 カンタン!あなたのオンライン本棚 "> "> "> ">===省略
<footer> <small>c 2019 Bookshelf.</small> </footer> </body>
0 コメント