質問編集履歴

2

加筆修正

2019/03/02 10:41

投稿

reiya1230
reiya1230

スコア20

test CHANGED
File without changes
test CHANGED
@@ -127,3 +127,103 @@
127
127
  当方プログラム経験も他人に質問する経験もあまりありませんのでテスト中のコード必要最低限は
128
128
 
129
129
  乗せたと思うのですが足りなければ教えて下さい
130
+
131
+
132
+
133
+ ---追記2
134
+
135
+ テキストボックスである必要はないですが、 最終的には、
136
+
137
+ 3つの項目を”正確に”ユーザーが入力して、それをDBに格納する必要がある ってことなんですが、
138
+
139
+ 値は部分一致で検索しないと表記ゆれがはげしく、IDもユーザーに知られてない通し番号なので、
140
+
141
+ フリーテキストにしてしまうと項目を特定できず、予期せぬエラーが発生しかねない と考えています。
142
+
143
+
144
+
145
+ その為、一度検索して、その値をコピーして見た目入力している風にしたいわけです。
146
+
147
+ (hidden属性にIDを登録したほうが確実でしょうが、それくらいのことは自分で出来そうなので)
148
+
149
+
150
+
151
+ ひとまず課題であるリストをaタグか何かでクリックでフォームをコントロールする際に、
152
+
153
+ 先ほど出力したSQLのリストを使えないか、ということを疑問に思いました。
154
+
155
+
156
+
157
+ しかし、先ほども仰られたようにサーバーサイドとフロントサイドで
158
+
159
+ それぞれの処理分野が違うので 単に値を受け渡すだけでは動かない、と調べました。
160
+
161
+ 併せて書かれていたことがajaxやjquery等の技術を使う実装で、
162
+
163
+ まったく未経験な分野の言語だったので、もっとシンプルに実装ができないか、
164
+
165
+ ということでこの質問に至りました。
166
+
167
+
168
+
169
+ (値を渡すくらいなら、echoで文字列出力して、それをそのまま引数として渡してしまったら出来るのではないかと思いましたが、エラーが出るか無反応になってしまうので)
170
+
171
+
172
+
173
+ ```ここに言語を入力
174
+
175
+ <form name="addone">
176
+
177
+ <input type="text" name="title" value="">
178
+
179
+ <?php
180
+
181
+
182
+
183
+ $value="tesuto";
184
+
185
+ ?>
186
+
187
+ <?= $value ?>
188
+
189
+ <a href="javascript:void(0);" onclick="OnLinkClick("<?= $value ?> ");">内容を変更</a>
190
+
191
+
192
+
193
+ </form>
194
+
195
+ <script>
196
+
197
+
198
+
199
+ function OnLinkClick(value) {
200
+
201
+ document.addone.title.value=value;
202
+
203
+ }
204
+
205
+ </script>
206
+
207
+
208
+
209
+ ```
210
+
211
+ 結果・・・内容を変更文字をクリックしても 変化起きず
212
+
213
+
214
+
215
+ aタグを次のように変更
216
+
217
+ ```
218
+
219
+ <?= '<a href="javascript:void(0);" onclick="OnLinkClick(\" '. $value .' \");">内容を変更</a>' ?>
220
+
221
+ ```
222
+
223
+ 結果・・・変わらず
224
+
225
+
226
+
227
+
228
+
229
+ 個人的には、新しい言語に触れる体力があまりないので、限定的でもいいのでjsとphpで終わらせてしまいたいですし、なにも要件さえ満たしていればそれこそこの形式じゃなくても大丈夫なんです。 長くなってしまいましたが、よろしくお願いします。

1

コードと追記をしました

2019/03/02 10:41

投稿

reiya1230
reiya1230

スコア20

test CHANGED
File without changes
test CHANGED
@@ -26,17 +26,79 @@
26
26
 
27
27
  ```php
28
28
 
29
- echo '<a href="javascript:void(0);" onclick="OnLinkClick('.$row['title'].');"> '.$row['title'].'</a>';
29
+
30
30
 
31
- ```
31
+ <?php
32
32
 
33
+ if(isset($_POST['search'])){
34
+
35
+ if($_POST['word']!=""){
36
+
37
+ $sth = $pdo->prepare(" SELECT * from tracks where title like :word ");
38
+
39
+ $sth->bindValue(':word', '%'.$_POST['word'].'%', PDO::PARAM_STR);
40
+
41
+
42
+
43
+ $sth->execute();
44
+
45
+ foreach($sth as $row) {
46
+
47
+ echo '<a href="javascript:void(0);" onclick="OnLinkClick();"> '.$row['title'].'</a>';
48
+
49
+ echo $row['title'];
50
+
51
+ echo ' ';
52
+
53
+ if($row['grv']!=0){
54
+
55
+ echo $row['grv'];
56
+
57
+ }
58
+
59
+ echo '<BR>';
60
+
61
+ }
62
+
63
+
64
+
65
+ }
66
+
67
+ }
68
+
69
+ ?>
70
+
71
+
72
+
73
+
74
+
75
+ <form name="music">
76
+
77
+ <input type="text" name="txtbox" value="">
78
+
79
+ <?php
80
+
81
+
82
+
83
+ $value="aaaa";
84
+
85
+ echo '<a href="javascript:void(0);" onclick="OnLinkClick();">内容を変更</a>';
86
+
87
+ ?>
88
+
89
+ </form>
90
+
33
- ```javascript
91
+ <script>
34
92
 
35
93
  function OnLinkClick(value) {
36
94
 
37
- document.music.titleone.value=value;
95
+ document.music.txtbox.value=value;
38
96
 
39
97
  }
98
+
99
+ </script>
100
+
101
+
40
102
 
41
103
  ```
42
104
 
@@ -45,3 +107,23 @@
45
107
  forで回しているため、一件ずつ違う値をテキストボックスに入力する必要があります。
46
108
 
47
109
  echoをうまく使って、引数に設定できないものでしょうか?
110
+
111
+ --追記
112
+
113
+ 結局は>echo '<a href="javascript:void(0);" onclick="OnLinkClick();">内容を変更</a>';
114
+
115
+ のonlincclickの中に何をどうすれば
116
+
117
+ function内のvalueに値が行ってスクリプトが実行されるかが
118
+
119
+ 分かればよく、その為にjavascriptやphp以外の別の何か(ajaxとかjquery等)
120
+
121
+ が必要なら実装難しそうだから別の方法にしようと思って質問した次第です。
122
+
123
+ もちろん動けばそれでいいのですがコードを直接お願いするのはどうかなとは思ったので・・・
124
+
125
+
126
+
127
+ 当方プログラム経験も他人に質問する経験もあまりありませんのでテスト中のコード必要最低限は
128
+
129
+ 乗せたと思うのですが足りなければ教えて下さい