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

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

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

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

PHP

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

HTML

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

Q&A

解決済

5回答

1726閲覧

動作が確認できない

a-_.

総合スコア133

MySQL

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

PHP

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

HTML

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

0グッド

0クリップ

投稿2016/08/08 02:13

編集2016/09/06 02:22

上のPHPコードで
・「投稿」は投稿にチェックかつボタン押下で入力内容を新規に投稿
・チェックボックスには各投稿のIDをvalueに設定し、ボタン押下で受け取れるようにして
・「更新」は更新にチェックかつボタン押下で一覧のなかからチェックをつけた投稿に対し、名前・内容の入力値で内容を更新
・「削除」は削除にチェックかつボタン押下で一覧のなかからチェックをつけた投稿を削除
という動作にしたいんですが、それぞれブラウザ表示はされるけどボタンを押しても動作確認ができない状態です

作業工程としては、下のPHPコードのフォーム部分に追加・変更しただけなんですが、どこがどう間違えているのか調べても原因究明できません
因みに下のPHPコードでは「投稿」を押すと処理ができました

PHP

1<html> 2 <head> 3 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 4 </head> 5 <body> 6 <form method="post" action=""> 7 <table> 8 <tr> 9 <td> 10 名前:<input type="text" name="move"> 11 内容:<textarea name="move" cols="30" rows="3"></textarea> 12 <input type="radio" name="move" value="post" checked>投稿 13 <input type="radio" name="move" value="update">更新 14 <input type="radio" name="move" value="delete">削除 15 </td> 16 </tr> 17 </table> 18 19<?php 20 while(($row = mysqli_fetch_array($result, MYSQLI_ASSOC))) { 21?> 22 23 <table> 24 <input type="checkbox" name="chkid[]" value="<? = $row['id'] ?>"> 25 <tr> 26 <td>名前: 27 <?php echo $row['name'] ?> 28 </td> 29 </tr> 30 <tr> 31 <td>内容: 32 <?php echo $row['comment'] ?> 33 </td> 34 </tr> 35 </table> 36 37<?php 38 }; 39 mysqli_free_result($result); 40 41 mysqli_close($link); 42?> 43 44 </form> 45 </body>

PHP

1<html> 2 <head> 3 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 4 </head> 5 <body> 6 <form method="post" action=""> 7 <table> 8 <tr> 9 <td> 10 名前:<input type="text" name="name"> 11 内容:<textarea name="comment" cols="30" rows="3"></textarea> 12 <input type="submit" value="投稿"> 13 </td> 14 </tr> 15 </table> 16 17<?php 18 while(($row = mysqli_fetch_array($result, MYSQLI_ASSOC))) { 19?> 20 21 <table> 22 <tr> 23 <td>名前: 24 <?php echo $row['name'] ?> 25 </td> 26 </tr> 27 <tr> 28 <td>内容: 29 <?php echo $row['comment'] ?> 30 </td> 31 </tr> 32 </table> 33 34<?php 35 }; 36 mysqli_free_result($result); 37 38 mysqli_close($link); 39?> 40 41 </form> 42 </body> 43</html>

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

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

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

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

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

NatsumiOki

2016/08/08 02:28

上のコードにはボタンがないようですが、ラジオボタンのことをおっしゃっていますか?ラジオボタンをチェックしたときに「投稿」「更新」「削除」のそれぞれの処理をしたいということでしょうか?
a-_.

2016/08/08 02:40

ご回答ありがとうございます 仰る通りで「ラジオボタンを押して処理が行われる」という流れを作りたいんです
yambejp

2016/08/08 04:37

HTMLに「ラジオボタンを押して処理が行われる」という仕様がないので 無理ですね あまりお勧めしませんがsubmitボタンのvalueを見て分岐するのが妥当 <input type="submit" name="move" value="投稿"> <input type="submit" name="move" value="更新"> <input type="submit" name="move" value="削除">
yambejp

2016/08/08 04:40

上記私の追記は無視してください
guest

回答5

0

結論から言うと無理ですね。

・HTMLとPHPのみで処理したい
・ラジオボタンのチェックで処理実行したい

これを同時に満たす実装は不可能だと思ってください。
HTML自体の仕様にないことですし、ブラウザにもそのような機能が実装されていません。

代替案として、
・HTMLとPHPのみにこだわるならば、別途submitボタンを設ける
・ラジオボタンチェックで処理実行にこだわるならば、JavaScriptを併用する

あとは、

・button要素を使用して見た目をラジオボタンのようにする

という手もありますけど…type="radio"を利用することにこだわるならこれもダメでしょうから
どちらか割り切って実装するしかないですね。

投稿2016/08/08 05:15

NatsumiOki

総合スコア1298

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

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

a-_.

2016/08/08 06:10

他の方々のご回答を要約するとNatsumiOkiさんの仰る通りみたいですので、各ラジオボタンコードの下に別途submitボタンを設けて再度ブラウザ表示しましたが改善されません
NatsumiOki

2016/08/08 06:25

いや、submitボタンを設けるのであれば今度はそれをクリックしたあとの処理もちゃんと書かないといけませんよ。 送信されたラジオボタンのvalueによって「投稿」「更新」「削除」の判定をして、それぞれの処理を行うようにしてください。
guest

0

onclick使っちゃってますが一応
ただ実際にやるならラジオボタンを押しただけで処理したりせずボタンを押して処理するようにやりますが

HTML

1<html> 2<head> 3<meta http-equiv="content-type" content="text/html; charset=utf-8"> 4</head> 5<body> 6 <form name="frm" method="post" action=""> 7 <table> 8 <tr> 9 <td> 10 名前:<input type="text" name="name"> 内容: 11 <textarea name="comment" cols="30" rows="3"></textarea> 12 <input type="radio" name="move" value="post" onClick="document.frm.submit()" checked>投稿 <input type="radio" name="move" value="update" onClick="document.frm.submit()">更新 <input type="radio" 13 name="move" value="delete" onClick="document.frm.submit()">削除 14 </td> 15 </tr> 16 </table> 17 </form> 18</body><?php 19if (isset ( $_POST ["move"] )) { 20 21 print $_POST ["move"]; 22 print $_POST ["name"]; 23 print $_POST ["comment"]; 24} 25 26?>

投稿2016/08/08 04:54

date

総合スコア1820

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

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

a-_.

2016/08/08 05:05

ご回答ありがとうございます ご回答していただいた後で申し訳ないんですが、HTMLとPHPのみで処理しようかと思ってるんです
guest

0

下のPHPにはあった投稿ボタンがなくなっているのは意図的なものでしょうか?
これ↓

HTML

1<input type="submit" value="投稿">

submitに相当する処理がないのでPHPに遷移しないと思いますが、提示していないコードが他にありますか?

投稿2016/08/08 02:33

ttyp03

総合スコア16998

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

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

a-_.

2016/08/08 02:53

ご回答ありがとうございます イメージとしてはラジオボタンを押して各処理が行われるという感じにしたいのですが、調べてみると下のPHPコードみたくsubmitでボタンを新たに作らないと処理されないらしいので、現段階からどこか訂正してラジオ~で実行か、submitでボタンを作った方がいいのかで悩んでます
guest

0

ベストアンサー

上のPHPはどこでサブミットしているのでしょうか?

#追記
ラジオボタンをclickしたらsubmitしたいのであれば
jQueryを使う前提で、以下

javascript

1<script src="js/jquery.js"></script> 2<script> 3$(function(){ 4 $('input[name=move]').click(function(){ 5 $(this).parents().find('form').submit(); 6 }) 7}); 8</script>

投稿2016/08/08 02:32

編集2016/08/08 04:16
yambejp

総合スコア114784

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

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

a-_.

2016/08/08 03:53

ご回答ありがとうございます 一応ラジオボタンを押してサブミットするという流れのつもりです
yambejp

2016/08/08 03:57

ラジオボタンを押した瞬間にサブミットされるのであれば ラジオボタンじゃなく各処理をサブミットボタンにすればよいのでは?
a-_.

2016/08/08 04:02

あくまで今回はラジオボタンでの処理を行ってみたいと思っているので、追加でsubmitを入れなければ処理が行われないという事であれば入れるしかないのかなと推測しています
yambejp

2016/08/08 04:17

submitの追記しておきました
a-_.

2016/08/08 04:24

追記していただいた後で申し訳ないんですが、HTMLとPHPのみで処理しようかと思ってるんです
yambejp

2016/08/08 04:40

あら、変なところに投稿しちゃいましたすみません。 改めて HTMLに「ラジオボタンを押して処理が行われる」という仕様がないので 無理ですね あまりお勧めしませんがsubmitボタンのvalueを見て分岐するのが妥当 <input type="submit" name="move" value="投稿"> <input type="submit" name="move" value="更新"> <input type="submit" name="move" value="削除">
a-_.

2016/08/08 04:55

いえいえ、今後jQueryでの処理も予定しているので是非参考にさせていただきますね やっぱりラジオ~のみじゃ無理なんですね アドバイス通りsubmitも追加してみます p.s. 結構な割合でご回答いただいてて毎回助かります 今回みたいにコードの例などの説明も分かりやすくて参考にさせていただいてます
guest

0

name="move" が複数の要素に使われていますが、同名の要素があったときにどうなるかのテストでしょうか。

投稿2016/08/08 02:37

kei344

総合スコア69400

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

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

a-_.

2016/08/08 02:47

ご回答ありがとうございます テストというより、とりあえず「move(仮)」で統一し、ラジオボタンが1つずつチェックができるようにしたという流れです でないと、ブラウザ表示したとき、ボタンを押しても全て選択されてしまうので
kei344

2016/08/08 02:53

いえ、radioは問題ないのですが、type="text"とか textarea にも同名を使っていることのほうを指摘したつもりです。
a-_.

2016/08/08 03:55

勘違いしてしまいすいません そこも同名にすることでラジオボタンの処理が可能になるのではと思いそうしました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問