- ベストアンサー
DBに登録されているデータの削除
こんにちは。お世話になっております。 題名にあるように、DB(MySQL)に登録のあるデータの削除なのですが、where句により一覧表示を指せた際、チェックボックスも表示させ、ボタンを押す事によりチェックされたデータを削除したいと考えています。 このような場合は配列を使う(?)、とまでは分かるのですが、具体的なコードが思い浮かばないもので・・・ 以上、初歩的(毎度ですが…汗)な質問かと思われますが、適切なキーワードが思い浮かばず、調べても分からないため質問させて頂きました。お忙しい中恐縮ですが、少し踏み入ったヒントだけでもご指導いただければ有難く思っております。宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- qaz_qwerty_me
- ベストアンサー率19% (214/1115)
- f_motion
- ベストアンサー率53% (7/13)
関連するQ&A
- 登録データの繰り返し削除
こんばんは。お世話になっております。 DBを利用し掲示板を作っているのですが、初回に投函されたものだけを検索結果として表示させ、チェックボックスにて削除できるよう、以下のようなスクリプトを記述してみたのですが、value値をauto_incrementであるidだと、初回投函のみのデータだけが削除され、投函の返信は残ったままとなってしまいます。 // データベース接続 ・ ・ // 削除データ取得 if (@$_POST["c1"]) { $c1 = $_POST["c1"]; $sql = "DELETE FROM table1 WHERE (id IN ("; for ($i = 0; $i < count($c1); $i++) { $sql .= intval($c1[$i]); if ($i < count($c1) - 1) { $sql .= ", "; } else { $sql .= "))"; } } mysql_query($sql, $conn) or die("エラー"); } //テーブル接続 ・ ・ while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { echo "<form method=\"POST\" action=\"".$_SERVER["PHP_SELF"]."\">"; echo "<br>"; echo "<input type=\"checkbox\" name=\"c1[]\" value=\"".$row["id"]."\">"; ・ ・ 以下省略 以上のままだと初回投函のみの削除となるため、一回の動作で返信も削除したいために、投函に属する値(id_keyとして同じ値を設定済み)にしたいと考えているのですが、for文中におけるコード設定が分からず、アドバイスをいただければと投函させて頂きました。 ループ条件の設定によるものなのでしょうが、その条件を設定するためのコードまで浮かんで来ません。 何処をどう説明したら良いのか分からず、分かりにくい説明になっておりますが、ヒントなどいただければ幸いに思っております。お忙しい中恐縮ですが宜しくお願い致します。
- 締切済み
- PHP
- DB全文検索について
このたび、この「教えてGoo」「オンラインショップ』等ののような検索システムを作ることになりました。 「教えてGoo」質問検索の欄にキーワードを入れると、検索されますが、おおよそ40万件の質問や回答の中からすぐ検索結果がでてきます。そのままWhere句で検索してるはずないと感じました。このような全文検索系をデータベースでやる場合のテーブル構成等のテクニックをお教えいただけないでしょうか。よろしくお願いいたします。使用するDBはMySQLです。
- ベストアンサー
- その他(データベース)
- ListBoxの選択した項目を削除したら、DBの同じデータの行も削除を
ListBoxの選択した項目を削除したら、DBの同じデータの行も削除をしたいです。 環境:XP-Pro/VB2005/SQLServer2005 簡単なSchedule管理ソフトを作成しています。 画面には左側にMonthCalendar、開始時間を表示するDomainUpDown、件名、内容を入力するTextBoxと登録ボタンがあり、左側にListBox、その下に修正ボタン、削除ボタンが配置してあります。 登録ボタンを押すとListBoxに内容が表示されると同時にDBにデータが保存されます。 DBのテーブル:Shortは startdate(日付) DateTime start(開始時間) varchar(50) subject(件名) varchar(50) contents(内容) varchar(50) *日付と開始時間は複合主キー 今回は登録した項目を選択して削除ボタンをクリックしたら、DB内の同じ内容も削除するという動作です。 分からない部分はDBに接続してコネクションを定義した後のSQLステートメントです。 現在は、 connection.Open() Command.CommandText = "DELETE FROM Short WHERE start = '" & ListBox1.SelectedIndex &"'" Command.ExecuteNonQuery connection.Close() となっています。が削除されませんでした。 SQLステートメントで"ListBoxの選択している項目と同じ行"というようにWHERE句で定義したいのですが分かりません。 ご指導よろしくお願いいたします。
- 締切済み
- Visual Basic
- dbに登録したデータをphpのプルダウンに表したい
mysqlに登録したデータをphpのプルダウンに表示させたいです。 database [db1] table [unit]カラム group varchar(20) に登録しているグループ名5個を選べるようにしたいのですが知恵を拝借できますでしょうか。 <?php $s=mysql_connect("サーバー名","アカウント","パスワード") or die("失敗しました"); print "接続OK"<BR>; mysql_select_db("db1"); ここから先が知りたいです。 みなさまのお知恵を拝借したいです。 ぜひよろしくお願い致します。
- ベストアンサー
- PHP
- オラクルDBのデータ削除タイミング
お世話になります。 .NETとオラクルで作られた小さいシステムを引き継ぎました。 その中にメインになるDBがあり3ヶ月以前のデータは .NETの夜間削除処理APでDELETEしています。 そのメインDBにトリガーテーブルがあるのですが、1日分の データしか保存されていません。 しかし、どこで消えているのかが見つけられないでいます。 .NETの全APを検索してもないし、オラクルの機能であるような気が しているのですが、よくわかりません。 トリガーの条件は「INSERT」と「UPDATE」です。 どなたかヒントを下さい
- 締切済み
- Oracle
- phpMyAdminでデータを削除できないのですが・・・
phpMyAdminでテーブルの中身を表示させ削除したいデータ(レコード?)に複数チェックを入れ、 「チェックしたものを」の横にある削除ボタンを押したのですが、 「本当に削除しますか?」という確認とDELETE FROMで始まるSQLが表示され、 「はい」を選択し実行しても結果的にデータが削除されません。 一件づつ削除する分には成功するのですが、複数のレコードにチェックを入れて 「チェックしたものを」の横にある削除ボタンから削除しようとすると失敗します。 表示されたSQLをコピーして、 SQLのタブで貼り付けて実行すると、削除できました。 構成ですが、 windows 2003 server standard IIS 6.0 ZendCore 2.5 (MySQLとphpMyAdminはZendCoreに付属のものです) MySQL 5.0.27 phpMyAdmin 2.10.0.2 となっております。 phpMyAdminのみ最新版も試してみましたが、 ダメでした。 一応、rootでログインして実行しております。 何か設定等があるのでしょうか? よろしくお願いします。
- 締切済み
- MySQL
- データがある場合のカラムの削除
データがあるカラムを削除したいのですが、出来ません! drop column column_name だとデータ無しの場合しか通用しなくて・・・。 削除対象のカラムのデータだけを消そうかと、 delete from table_name where column_name=値; も考えたのですが、 where句で引っ掛かったレコードが全部消えてしまいます・・・。 1カラムだけ削除する方法を教えて下さい(><) 宜しくお願いします。
- ベストアンサー
- Oracle
- sqliteでWHERE句に存在しないデータを削除
PHPのsqliteで $sql=DELETE FROM TABLE WHERE C=データ $db->exec($sql) を使ったところ、WHERE句に存在しないデータがあると、エラーとなります。 sqliteで存在しなくてもエラーとならないような処理はどのようにしたらいいでしょうか?
- ベストアンサー
- その他(データベース)
- PHPのプルダウンメニューにDBのデータを入れたいのですが。
初めて質問させていただきます。 PHPとMySQLを使って、とあるwebページを作成したいのですが、 DB内のあるテーブルのデータを、PHPの配列に格納し、その内容をプルダウンメニューに反映させたいのです。 データベース内のテーブルの内容(例)は以下のとおり。 テーブル名:sample | 番 | 時 | | 号 | 間 | ------- | 1 | 朝 | | 2 | 昼 | | 3 | 夜 | ------- プルダウンメニューに表示させたい内容は、この場合では「時間」です。 ---- |朝 ▼| 「▼」をクリックすると ---- ↓ ---- |朝 ▼| |昼 | このように表示される。 |夜 | 内容はDBから取ってきたもの。 ---- このように表示したいのです。 どなたかPHPに詳しい方、よろしくお願いします。
- ベストアンサー
- PHP
- DB(MySQL)から複数行のデータを取り出す方法
最近PHPを勉強していて、初歩的な質問で申し訳ないのですが どうしてもわからないので質問させていただきます。 例えば、MySQLに以下のようなデータがあります。 年齢 名前 性別 28 AAA 男 20 BBB 男 25 CCC 女 ここで男のレコードだけ取り出したいと思い 以下のようなコードを書きました。 //MySQLへデータを保存する。 mysql_connect("localhost","root",""); mysql_select_db("DB名"); //データの取得 $id = mysql_query("SELECT '年齢','名前','性別' FROM テーブル名 WHERE '性別' = '男'"); $array=mysql_fetch_row($id); この場合、2行のレコードが選ばれるはずですが 後ろのレコードへのアクセスの仕方がわかりません。 $arrayには性別=男に該当する、一行目のレコードが入っています。 二行目のレコードへはどうやってアクセスすればよいのでしょか? 調べてもなかなかうまくいかずご質問させていただきました。 ご回答お願いします。
- ベストアンサー
- PHP
お礼
f_motion様 こんばんは。お世話になっております。 只今、お教えいただいたコードをヒントに、試行錯誤ながらにも色々と試しているところです。 取り急ぎお礼まで・・有難う御座いました。 追って結果報告させて頂きます!
補足
f_motion様 こんばんは、お世話になっております。 ご報告遅れてしまいましたが、只今、チェックボタンを利用したコードにて削除をする事まで出来ました! まだまだ不具合もあったりで、完成の域には達しておりませんが、お返事が長引くのも恐縮ですので、ひとまず、ここは「解決できた」とさせて頂きます。 色々と有難う御座いました。