質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

1807閲覧

phpを使ってチェックボックスで指定したテーブルを消去したい

Gshehebnk

総合スコア3

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

checkbox

checkboxは、GUIのエレメントです。また、HTML<input>タグのtype属性で扱われる値を指します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/12/11 04:23

前提・実現したいこと

初心者です。phpを使ってチェックボックスで指定したテーブルを消去したいです。
途中まで作ってみたのですが、この後どうすればいいのかわからないです。
一応調べてみましたが解決できませんでした。

該当のソースコード

topic.php

1<form class="forml" name="forml" id="forml" action="delete.php" method="post"> 2 <table border= 1 align = center style="margin-top:20px;"> 3 <tr bgcolor= #cccccc align = center> 4 <th height= 50>削除</th> 5 <th height= 50>id</th> 6 <th height= 50>タイトル</th> 7 <th height= 50>登録日時</th> 8 <th height= 50>更新日時</th> 9 </tr> 10 <?php while( $result = $stmt->fetch( PDO::FETCH_ASSOC ) ):?> 11 <tr align = center> 12 <td width= 50><input type="checkbox" name="chk[]" value="<?php echo $result['id']; ?>" checked="checked"></td> 13 <td width= 50><?php echo $result['id']; ?></td> 14 <td width= 120><?php echo "<a href= topicesdit.php?id=".$result['id'] .">{$result['title']}</a>" ?></td> 15 <td width= 120><?php echo $result['created']; ?></td> 16 <td width= 120><?php echo $result['modified']; ?></td> 17 </tr> 18 <?php endwhile; ?> 19 </table> 20 <div class="left"> 21 <input type="submit" name="delete" value="削除する" onclick= "window.location.href='topicsdelete.php'"/> 22 <input type="submit" name="made" value="新規作成" onclick= "window.location.href='topicsmade.php'"/> 23 </div> 24 </form> 25 </div> 26 </div> 27</body>

delete

1<?php 2$dsn = 'mysql:dbname=task;host=localhost'; 3$user = '******'; 4$password = '*******'; 5 try { 6 $dbh = new PDO("mysql:dbname=task;host=localhost", "$user", "$password"); 7 } catch (PDOException $e) { 8 9 echo 'データベースにアクセスできません!' . $e->getMessage(); 10 11 exit; 12 } 13 14 $id = isset($_GET['id']) ? $_GET['id'] : ''; 15 $check = isset($_GET['check']) ? $_GET['check'] : ''; 16 var_dump($check); 17 18 19 $sql = "DELETE FROM task WHERE id = :id"; 20 $stmt = $dbh->prepare($sql); 21 $params = array(':id' => $_GET['id']); 22 $stmt->execute($params); 23 echo '削除しました'; 24 25

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

削除専用ページであれば、チェックボックスで削除するidをチェックさせて
actionに指定したページでそのidをもとに削除すればよいでしょう

投稿2020/12/11 05:04

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Gshehebnk

2020/12/11 08:19

Notice: Undefined index: id in C:\xampp\htdocs\delete.php on line 23 このエラーが出てしまうのですがなぜでしょうか?
yambejp

2020/12/11 08:37 編集

formのmethodがpostなのにgetを参照してるからでは? <?PHP $chk=filter_input(INPUT_POST,"chk",FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); if(!is_null($chk)){ var_dump($chk); } ?> <form method="post"> <label><input type="checkbox" name="chk[]" value="1">1</label> <label><input type="checkbox" name="chk[]" value="2">2</label> <label><input type="checkbox" name="chk[]" value="3">3</label><br> <input type="submit" value="send"> </form>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問