• 締切済み

すいません。PHPの削除について

質問番号5654502は失礼しました。お手数ですが、削除してください。 phpでWEBサイトの管理画面を作成しています。 削除ボタンを押すと、そのレコード1件分のみ、削除出来るようにしたいのですが、うまくいきません。ご教授願います。 // news.phpファイル <?php //データベースへの接続 $dberror = false; $dbermsg = ""; $con = mysqli_connect("localhost", "****", "********"); if ( $con ) { //データベースサーバへの接続OK if ( mysqli_select_db($con, "DB名") ) { $sql = "SELECT * FROM news WHERE user = '" . $_SESSION['loggedinUser'] . "' ORDER BY listingorder DESC, lastupdate DESC; "; mysqli_query($con, "set names utf8"); $rs = mysqli_query($con, $sql); $i = 0; if ( $rs ) { while ($item = mysqli_fetch_array($rs)) { echo "<tr class=\"Contents\">"; echo "<td><input type=\"hidden\" value=\"\" name=\"deleteId[$no]\" />"; echo "<input accesskey=\"1\" tabindex=\"1\" class=\"DeleteBt\" type=\"image\" value=\"削除\" name=\"submit_del[$no]\" src=\"images/delete_button.gif\" alt=\"削除\" onclick=\"deleteNews(); return false;\" /></td>"; echo "<td>"; echo "<div class=\"TurnSet\">"; echo "<div class=\"TheFirst\"><input accesskey=\"1\" tabindex=\"1\" type=\"submit\" value=\"▲\" class=\"broad\" name=\"weight[$no]\" /><br /><input accesskey=\"1\" tabindex=\"1\" class=\"broad\" type=\"submit\" value=\"▼\" name=\"weight2[$no]\" /></div><input accesskey=\"1\" tabindex=\"1\" type=\"submit\" class=\"UpArrow\" value=\"↑\" name=\"weight3[$no]\" /> </div>"; echo "</td>"; echo "<td class=\"TableName\"><span><a href=\"news_edit.php?id=${item['id']}\">${item['title']}</a></span></td>"; echo "<td class=\"CheckBoxPlace\"><input type=\"hidden\" name=\"active_o[$no]\" value=\"1\" /><input type=\"hidden\" name=\"active2[$no]\" value=\"0\" /><p class=\"CheckBox\"><input type=\"checkbox\" name=\"active3[$no]\" value=\"1\" checked=\"checked\" accesskey=\"1\" tabindex=\"1\" /></p></td>"; echo "</tr>\n"; $i ++; } } else { $dberror = true; $dbermsg = "一覧取得時のエラー" . mysqli_errno($con).": ".mysqli_error($con)."<br />\n"; } } else { // 以下省略 } ?> </body> <script type="text/javascript"> function deleteNews() { if ( window.confirm("選択されたニュースを削除します。\nよろしいですか?") ) { document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.submit(); } return false; } </script> </html> // newsUpdate.phpファイル switch ( $mode ) { case "delete": //ニュース削除 if (isset($_POST["submit_del"])){ $no = key($_POST[submit_del]); //押下したボタン番号を取得 $sql = "DELETE FROM news WHERE listingorder='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql); } //表示順を更新する $sql = "SELECT * FROM news WHERE user = '" . $_SESSION['loggedinUser'] . "' ORDER BY listingorder, lastupdate ;"; mysqli_query($con, "set names utf8"); $rs = mysqli_query($con, $sql); $order = 0; if ( $rs ) { while ($item = mysqli_fetch_array($rs)) { $id = $item["id"]; $updateSQL = "UPDATE news SET listingorder='" . $order . "' WHERE id='" . $id . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $updateSQL); $order ++; } } break; 以下省略

みんなの回答

  • taisei64
  • ベストアンサー率33% (1/3)
回答No.10

「$sql = "DELETE FROM news WHERE listingorder='" . $no . "';";」 ここの最後にセミコロンが二つ付いているのが気になるのですが、最初のはいらないのではないでしょうか? また、どうしてもうまくいかないのなら削除のフラグを立てるいう方法もあります。

すると、全ての回答が全文表示されます。
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.9

> <?php "<input type='hidden' value='' name='delno' />"; ?> この件に関してですが、俺の環境では 現象を再現できませんでしたので、 理由は さっぱり 分かりません。 なんか、どこか 設定が違うのだとは思いますが、具体的には 分かりません。 お力になれず 申し訳ありません。

ikam2010
質問者

補足

いえいえ ありがとうございます!おそらく、どこがしかの設定の問題だとは思いますが、会社の管理画面ですので、別の箇所も作らなければならず、じっくり考える事が出来ません。すいません。でも、本当にありがとうございました!

すると、全ての回答が全文表示されます。
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.8

そちらのスクリプトを元に、そちらのやりたいであろう事を、ミニマムに作ってみました。 DBは使ってませんが、そちらなら理解できると思いますので、流れのご参考までに。 ちなみに、そちらのファイル名を そのまま使用してますが、 間違ってもご自分のスクリプトに上書きしないでください。 ---------------------------------------------------------------------- ○ news.php ---------------------------------------------------------------------- <?php $DimRider = array (21 => "ダブル" , 20 => "ディケイド" , 19 => "キバ" , 18 => "電王" , 17 => "カブト"); //$me = $_SERVER[PHP_SELF]; $next = "newsUpdate.php"; $out = "<form name=newsUpdateForm action=$next method=post> <input type=hidden name=Code Value=''> <input type=hidden name=Mode Value=''> <table border=1>"; while (list($Code , $Name) = each($DimRider)) { $out .= "<tr><td>$Code</td><td>$Name</td><td><input type=submit name=Submit$Code value='削除' onClick='deleteNews($Code); return false;'></td></tr>"; } $out.= "</table></form>\n"; ?> <html> <head> <script type="text/javascript"> function deleteNews(code) { if ( window.confirm("選択されたライダー["+code+"]を削除します。\nよろしいですか?") ) { document.newsUpdateForm.Mode.value = "delete"; document.newsUpdateForm.Code.value = code; document.newsUpdateForm.submit(); } return false; } </script> </head> <body> <?= $out; ?> </body> </html> ---------------------------------------------------------------------- ---------------------------------------------------------------------- ○ newsUpdate.php ---------------------------------------------------------------------- <html> <body> <?php //print_r($_POST); print "ここに コード[" . $_POST[Code] . "]を削除する処理を入れる。<hr>"; ?> <a href=news.php>戻る</a> </body> </html> ----------------------------------------------------------------------

ikam2010
質問者

お礼

ありがとうございました。 下記のように記述したら、解決しました! 参考になりました!! しかし、解決したので、よいのですが、 <?php "<input type='hidden' value='' name='delno' />"; ?> って書かないと、動かないんです。phpをなくして、 <input type='hidden' value='' name='delno' /> このように書くと、動きませんでした。また、 <?php echo "<input type='hidden' value='' name='delno' />"; ?> echo を入れると、動かないんです。これが、本当に分かりません。 どういうことなのか、教えて頂けたら、尚嬉しいです。 <?php "<input type='hidden' value='' name='delno' />"; ?> echo "<td><input accesskey=\"1\" tabindex=\"1\" class=\"DeleteBt\" type=\"image\" value='削除' name='submit_del[$no]' src=\"images/delete_button.gif\" alt=\"削除\" onclick=\"deleteNews($no,'$name'); return false;\" /></td>"; ------------------------------------------------------------ switch ( $mode ) { case "delete": //ニュース削除 if(isset($_POST["submit_del"])){  $no = key($_POST[submit_del]);  $sql = "DELETE FROM news WHERE id='" . $no . "';";  mysqli_query($con, "set names utf8");  mysqli_query($con, $sql) or die(mysql_error()); } ------------------------------------------------------------ <script type="text/javascript"> //<![CDATA[ function deleteNews(id,name){ if ( window.confirm("選択されたニュース["+name+"]を削除します。\nよろしいですか?") ) { document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.delno.value = id; document.newsUpdateForm.submit(); } return false; } //]]> </script>

ikam2010
質問者

補足

ありがとうございます。実は、会社の管理画面なんですが、今管理画面よりも、どうしても立ち上げたいサイトがあるので、そのデザイン~コーディングをやってくれと言われまして、止まってしまってる状態です。 サイト構築が終われば、再度管理画面php化に取り掛かれると思いますので、その時に、試させて頂きます!

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.7

デバッグのポイントだけ (1)DELETEを発行した$sql文をprintしてみる。 (2)SQLの発効後エラーを検出する mysqli_query($con, $sql); を mysqli_query($con, $sql) or die(mysql_error()); とします。 しつこいようですがlistingorderを削除のキーにするなら UPDATE news SET listingorder= ・・・ は絶対だめ。

ikam2010
質問者

補足

エラーは出ない状況です。 UPDATE news SET listingorder= ・・・の箇所は、コメントアウトしても、変わりませんでしたので、いらないのかもしれません。 すいません。bm_hiroさんの回答に、補足させて頂いた文章そのままで、大変申し訳ないのですが、アドバイス頂けましたら、本当に嬉しいです。 bm_hiroさんから頂いた回答のように書きましたら、削除はされまして、エラーは出なかったんですが、どのレコードのボタンを押しても、listingorderが、0である列が削除されてしまいます。 news.phpの方で、while ($item = mysqli_fetch_array($rs)) {}内に、 <form></form>タグを記述すれば、削除ボタンを押したレコードが、削除されて、成功するのですが、デザイン上、どうしても、formタグをwhileで繰り返すのは、不可能であり、どうしてもwhile ($item = mysqli_fetch_array($rs)) {}よりも、外で、ずっと上に記述する必要があるんです。 そこで、自分は、newsUpdate.phpで処理するのは厳しいのでは?と思い、 news.phpのformのactionを、<?php echo $_SERVER["PHP_SELF"]?>にして、 下記のように記述しまして(一部です)、onclick=\"deleteNews($no); return false;\" を消去したら、見事に削除ボタンを押したレコードが、削除されて、成功しました。 $con = mysqli_connect("localhost", "root", "*******"); if ( $con ) { //データベースサーバへの接続OK if ( mysqli_select_db($con, "**********") ) { $sql = "SELECT * FROM news WHERE user = '" .         $_SESSION['loggedinUser'] . "' ORDER BY listingorder DESC, lastupdate DESC; "; mysqli_query($con, "set names utf8"); $rs = mysqli_query($con, $sql); if(isset($_POST["submit_del"])){ $no = key($_POST[submit_del]); echo $no; $sql = "DELETE FROM news WHERE id='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql) or die(mysql_error()); } if ( $rs ) { while ($item = mysqli_fetch_array($rs)) { $no = $item["id"] ; 以下省略 しかし、 onclick=\"deleteNews($no); return false;\"を記述し、function文は下記の形式で、再度試したら、削除すらされない状況でした。 function deleteNews(dno) { if ( window.confirm("選択されたニュースを削除します。\nよろしいですか?") ) { document.newsUpdateForm.delno.value = dno;         ↑これも消去したりもしてみました。          //document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.submit(); } return false; } 出来れば、javascriptでの、確認メッセージは付けたいです。 そして、もし、newsUpdate.phpで、処理出来るのであれば、そうしたいです。 でも、どうしてもnewsUpdate.phpで処理できないのであれば、news.phpで処理して問題ないです。。 しかし、javascriptでの、確認メッセージは付けたいです。重複した文章で申し訳ありません。

すると、全ての回答が全文表示されます。
回答No.6

最低限、下記のことを教えてください。 ・そのPHPを走らせた結果出力されたHTMLは構文として正しいものが表示されているか。 ⇒ブラウザに出力してみてソース表示、などとすれば表示されますよね。 ・$sqlや、$updateSQL変数に代入したSQL構文にシンタックスエラーはないのか。 ⇒SQLを実行する前に、<?php echo $sql?>などとしてechoしてやれば容易に値が確認出来ますよね。 ついでに、出力されたSQL文をPHPMyAdminなどで直接実行して、エラーがでないか確認もしてみてください。 ・Javascriptが正常に動作しているのか ⇒現状では「うまく動かない」ことしか分かりません。submitした結果、newsUpdate.phpにPOST自体はされているのでしょうか? もし、newsUpdate.phpに遷移自体はされているというのであれば、newsUpdate.php内の最初に <?php print_r($_POST); ?> など書いて、値が渡ってきているのか試してみてはどうでしょう。 ・その他にエラーは出ていないのか <?php error_reporting(E_ALL); ?> などとして、すべてのエラーが表示するようにしてみて、エラーはでないでしょうか。

ikam2010
質問者

補足

そうですね。エラーは出てない状況ですが、 <?php error_reporting(E_ALL); ?> で確認します。

すると、全ての回答が全文表示されます。
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.5

#1です。 とりあえず、<html>すらありませんし、<table>の始まりもありませんので、 こんだけの長さでも、結構 削ってるんだろうなとは思います。 んで、なんで こんだけ 難解な書き方をしたのか 良く分かりませんが、 何らかの事情があったものとして、考えてみたいと思います。 #3さんが言ってるように、問題の切り分けは とても重要です。 特にPHPとJavaScriptのミックスなので、どちらに原因があるか分かると、それだけでも結構 楽です。 あと本題とは全く関係ないのですが、「\"」が やたらとあって読みづらいなぁ。。と思いました。 HTMLでは、シングルクォートでも代用できますし、 W3C準拠からかけ離れますが、value以外では 概ねつけなくても 動きます。 本題に入りますが、Ajaxライブラリを使うと、もうちょい楽に書ける気はしますが、 検討の余地はありませんか? 検証もしていませんし、説明ははしょりますが、こんなんでは動きませんか? ------------------------------------------------------------ <input accesskey='1' tabindex='1' class='DeleteBt' type='image' value='削除' name='submit_del[$no]' src='images/delete_button.gif' alt='削除' onclick='deleteNews($no); return false;' /></td> ------------------------------------------------------------ function deleteNews(dno) { if ( window.confirm("選択されたニュースを削除します。\nよろしいですか?") ) { document.newsUpdateForm.delno.value = dno; document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.submit(); } return false; } ------------------------------------------------------------ switch ( $mode ) { case "delete": //ニュース削除 if (isset($_POST[delno])){ $no = $_POST[delno]; //押下したボタン番号を取得 $sql = "DELETE FROM news WHERE listingorder='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql); } ------------------------------------------------------------

ikam2010
質問者

お礼

下記のように記述したら、解決しました!ありがとうございました。 しかし、解決したので、よいのですが、 <?php "<input type='hidden' value='' name='delno' />"; ?> って書かないと、動かないんです。phpをなくして、 <input type='hidden' value='' name='delno' /> このように書くと、動きませんでした。また、 <?php echo "<input type='hidden' value='' name='delno' />"; ?> echo を入れると、動かないんです。これが、本当に分かりません。 どういうことなのか、教えて頂けたら、尚嬉しいです。 <?php "<input type='hidden' value='' name='delno' />"; ?> echo "<td><input accesskey=\"1\" tabindex=\"1\" class=\"DeleteBt\" type=\"image\" value='削除' name='submit_del[$no]' src=\"images/delete_button.gif\" alt=\"削除\" onclick=\"deleteNews($no,'$name'); return false;\" /></td>"; ------------------------------------------------------------ switch ( $mode ) { case "delete": //ニュース削除 if(isset($_POST["submit_del"])){  $no = key($_POST[submit_del]);  $sql = "DELETE FROM news WHERE id='" . $no . "';";  mysqli_query($con, "set names utf8");  mysqli_query($con, $sql) or die(mysql_error()); } ------------------------------------------------------------ <script type="text/javascript"> //<![CDATA[ function deleteNews(id,name){ if ( window.confirm("選択されたニュース["+name+"]を削除します。\nよろしいですか?") ) { document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.delno.value = id; document.newsUpdateForm.submit(); } return false; } //]]> </script>

ikam2010
質問者

補足

ありがとうございます。上記のように、書きましたら、削除はされまして、エラーは出なかったんですが、どのレコードのボタンを押しても、listingorderが、0である列が削除されてしまいます。 news.phpの方で、while ($item = mysqli_fetch_array($rs)) {}内に、 <form></form>タグを記述すれば、削除ボタンを押したレコードが、削除されて、成功するのですが、デザイン上、どうしても、formタグをwhileで繰り返すのは、不可能であり、どうしてもwhile ($item = mysqli_fetch_array($rs)) {}よりも、外で、ずっと上に記述する必要があるんです。 そこで、自分は、newsUpdate.phpで処理するのは厳しいのでは?と思い、 news.phpのformのactionを、<?php echo $_SERVER["PHP_SELF"]?>にして、 下記のように記述しまして(一部です)、onclick=\"deleteNews($no); return false;\" を消去したら、見事に削除ボタンを押したレコードが、削除されて、成功しました。 $con = mysqli_connect("localhost", "root", "*******"); if ( $con ) { //データベースサーバへの接続OK if ( mysqli_select_db($con, "**********") ) { $sql = "SELECT * FROM news WHERE user = '" .         $_SESSION['loggedinUser'] . "' ORDER BY listingorder DESC, lastupdate DESC; "; mysqli_query($con, "set names utf8"); $rs = mysqli_query($con, $sql); if(isset($_POST["submit_del"])){ $no = key($_POST[submit_del]); echo $no; $sql = "DELETE FROM news WHERE id='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql) or die(mysql_error()); } if ( $rs ) { while ($item = mysqli_fetch_array($rs)) { $no = $item["id"] ; 以下省略 しかし、 onclick=\"deleteNews($no); return false;\"を記述し、function文は下記の形式で、再度試したら、削除すらされない状況でした。 function deleteNews(dno) { if ( window.confirm("選択されたニュースを削除します。\nよろしいですか?") ) { document.newsUpdateForm.delno.value = dno;         ↑これも消去したりもしてみました。          //document.newsUpdateForm.mode.value = "delete"; document.newsUpdateForm.submit(); } return false; } 出来れば、javascriptでの、確認メッセージは付けたいです。 そして、もし、newsUpdate.phpで、処理出来るのであれば、そうしたいです。 でも、どうしてもnewsUpdate.phpで処理できないのであれば、news.phpで処理して問題ないです。。 しかし、javascriptでの、確認メッセージは付けたいです。なんだか、重複した文章で申し訳ありませんが、 アドバイス頂けますでしょうか?

すると、全ての回答が全文表示されます。
回答No.4

このスクリプトですべてなのであれば、 inputタグがformタグで囲まれていないため、javascriptでsubmit()しても、POSTはされませんね。 <input type="hidden" name="mode" /> とかといった記述もしないと、 document.newsUpdateForm.mode.value = "delete"; ここのところでもこける気がします。 そこを踏まえた上で、news.phpがブラウザに出力されたら、HTMLソースがどのようになってるか確認してください。

ikam2010
質問者

補足

すいません。かなり削ってまして、formタグは存在します。。 <?php のさらに上にあります。 <input type="hidden" name="mode" /> もformタグのすぐ下に記述してありあります。 どちらにせよ、複雑に書き過ぎてしまってる状況です。

すると、全ての回答が全文表示されます。
  • anbsd
  • ベストアンサー率33% (1/3)
回答No.3

こんばんは。 質問記事の削除でしたら、マイページの質問・回答履歴、または質問記事ページのどちらかでできた気がします。 それと質問の本題の方ですが、私自身普段質問させて頂く側なので、アドバイスというアドバイスは出来ないと思うのですが、折角レスさせて頂いたのでその件にも触れさせて頂きます。 プログラムが動作しない場合、どこで上手く行ってないかを確認するのが良いかと思います。 具体的な確認方法ですが、 1. newsUpdate.phpの頭と、case "delete": の後ろに echo $_POST["submit_del"]."挿入箇所を示す文字列"; を記述し削除記事番号が表示されるかを確認。 表示されない場合はその部分でつまづいている事がわかります。 2. $sql = "DELETE FROM news WHERE listingorder='" . $no . "';"; の直後に echo $sql; を記述。 表示されるSQL文が実際に動作するかどうかの確認。 PHPを介さず、MYSQLに直接SQL文を渡してそのSQL文が思惑通りに動作するかの確認。 動作しないようであればSQL文に問題がある事がわかります。 3. 1と2を試してそれでも削除出来ない場合はphpのクエリ実行部分に問題がある可能性があります。 参考にもならないと思いますが、参考までに…。

ikam2010
質問者

補足

まず、質問記事の削除出来ました。すいません、ありがとうございます。 おそらく、phpのクエリ実行部分に問題があるかと思われます。 実は、会社の管理画面なんです。で、会社の人間から、管理画面のphp化よりも、今どうしても立ち上げたいサイトがあるので、デザイン~コーディングをしてくれと言われたので、止まってる状態です。 再度管理画面php化に取り掛かったら、頑張ろうと思います。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ごめんなさい、こんなダラダラ丸投げされても読む気がおきません。 結局どういうアドバイスが欲しいんですか? listingorderの特定のidを消したいというのは何となくわかります。 ユニークなidなのだから1件消えますよね? ただ、そのあとlistingorderを付け変えようとしてません? これはあり得ません。 削除データの競合が起きます。 削除をするのに使うidは付け替えは厳禁です。 上手くいかないというのはどういう状態か提示することと いまのロジックは破たんしているので別のやり方を考えること をお勧めします。

ikam2010
質問者

補足

すいません。説明不足でした。 下記のボタンを押すと、 echo "<input accesskey=\"1\" tabindex=\"1\" class=\"DeleteBt\" type=\"image\" value=\"削除\" name=\"submit_del[$no]\" src=\"images/delete_button.gif\" alt=\"削除\" onclick=\"deleteNews(); return false;\" /></td>"; レコード1件のみ、削除出来るようにと、 javascriptで、function deleteNews()により、newsUpdate.phpのswitch文の case "delete": //ニュース削除 で、 ↓により if (isset($_POST["submit_del"])){ $no = key($_POST[submit_del]); //押下したボタン番号を取得 $sql = "DELETE FROM news WHERE listingorder='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql); } 押下したボタン番号を取得しようと試みたのですが、削除もされない状況です。 listingorderは、0から自動的に付与されるユニークキーです。 別の方法を考えるべきでしょうか?

すると、全ての回答が全文表示されます。
  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.1

> 質問番号5654502は失礼しました。お手数ですが、削除してください。 これは 誰に向けてのメッセージでしょうか? ここで質問を投稿した事がないので分かりませんが、 削除は自分で行うものではないんでしょうか? > 削除ボタンを押すと、そのレコード1件分のみ、削除出来るようにしたいのですが、 > うまくいきません。ご教授願います。 具体的に どのように「うまくいかない」んでしょうか? それが分からないことには、ソースが長くて読む気が起きません。。。

ikam2010
質問者

補足

>ここで質問を投稿した事がないので分かりませんが、 削除は自分で行うものではないんでしょうか? 説明不足でしたね。。すいません。 自分も、あまり質問回数は、多くない為か、 自分で削除しようと極力試みたのですが、どうにも削除方法が、分からず、出来ませんでした。 削除方法お分かりでしたら、教えて頂けたら、幸いです。 質問についてですが、これまた説明不足で、すいません。上記の補足と被ってしまいますが、読んで頂けましたら、幸いです。 下記のボタンを押すと、 echo "<input accesskey=\"1\" tabindex=\"1\" class=\"DeleteBt\" type=\"image\" value=\"削除\" name=\"submit_del[$no]\" src=\"images/delete_button.gif\" alt=\"削除\" onclick=\"deleteNews(); return false;\" /></td>"; レコード1件のみ、削除出来るようにと、 javascriptで、function deleteNews()により、newsUpdate.phpのswitch文の case "delete": //ニュース削除 で、 ↓により if (isset($_POST["submit_del"])){ $no = key($_POST[submit_del]); //押下したボタン番号を取得 $sql = "DELETE FROM news WHERE listingorder='" . $no . "';"; mysqli_query($con, "set names utf8"); mysqli_query($con, $sql); } 押下したボタン番号を取得しようと試みたのですが、削除もされない状況です。 listingorderは、0から自動的に付与されるユニークキーです。

すると、全ての回答が全文表示されます。

関連するQ&A