質問するログイン新規登録

質問編集履歴

1

現在、行っている事についてだけ記述し直しました。よろしくお願いいたします。

2018/10/03 11:11

投稿

1004
1004

スコア74

title CHANGED
File without changes
body CHANGED
@@ -11,14 +11,28 @@
11
11
  【問題点】
12
12
  「新規作成」ボタンを実装中に以下の問題が発生しました。
13
13
 
14
- 「新規作成」を押すと変数iで新規アコーディオンが追加されます。(同じくDBにも同じidで追加されます。)2回目に同じことを行うと```i = i + 1```を入れたはずなのにも関わらず、変数iがインクリメントされないまま(```i = 1```のまま)プログラムが実行されてしまいます。これを正しくインクリメントさせるにはどうすれば良いか分かりません。
14
+ 「新規作成」を押すと変数iで新規アコーディオンが追加されます。
15
- (※インクリメントに成功したとしてもJavaScriptだと変数iが一時的にしか保持されず、ブラウザを再度立ち上げて同じことを行おうとすると、再度```i = 1```からになり、うまくいきそうにありません。)
15
+ (※JavaScriptだと変数iが一時的にしか保持されず、ブラウザを再度立ち上げて同じことを行おうとすると、再度```i = 1```からになり、うまくいきそうにありません。)
16
16
 
17
17
  【解決に向けて考えていること】
18
+ PHPのセッション変数を```i```に格納してみようとしました。
18
- 1、まず、DBのid(一意)を```i```に格納し、「新規作成」ボタンをクリックしたとき対応できようにします。(例えば、「新規作成」が5回目なら、iに```id=i=5```する。次に「新規作成ボタンを押すと」DB1行作られてidが決ま、今度はその```i```の値を格納
19
+ かしクリプトの中身PHPを入れると「新規作成ボタンが動かなくなす。
20
+ コードのどこが間違っているのでしょうか?
19
21
 
20
- 2、idをDBから取得するは面倒なので、PHPのセッション変数```i```格納てみる。
21
- (案2の方が実装が楽だと思いました。)しかし、コーディングのやり方が分かりません。
22
+ ####問題個所部分的抜粋ました↓
23
+ ```
24
+ <script>
25
+ function add()
26
+ {
27
+ var div_element = document.createElement("div");
28
+ <?php $_SESSION['i'] = 1; ?>
29
+ div_element.innerHTML = '<div id="accordion"><div class="card"><div class="card-header" id="headingOne"><h5 class="mb-0"><button class="btn btn-link" data-toggle="collapse" data-target="#collapse' + i +'" aria-expanded="true" aria-controls="collapse' + i +'"><textarea name="title" class="form-control" rows="1" maxlength="20" placeholder="日記のタイトルを入力"></textarea></button><div class="float-right"><a href="" class="btn btn-primary btn-lg active" role="button" aria-pressed="true">Delete</a></div></h5></div><div id="collapse' + i +'" class="collapse" aria-labelledby="headingOne" data-parent="#accordion"><div class="card-body"><div class="container"><form method="post">内容<textarea name="contents" class="form-control" maxlength="80" placeholder="日記の内容を入力"></textarea></form></div></div></div></div></div>';
30
+ var parent_object = document.getElementById("piyo");
31
+ parent_object.appendChild(div_element);
32
+ <?php $_SESSION['i'] = $_SESSION['i'] + 1; ?>
33
+ }
34
+ </script>
35
+ ```
22
36
 
23
37
 
24
38
  ### 発生している問題・エラーメッセージ
@@ -125,7 +139,7 @@
125
139
 
126
140
  ### 試したこと
127
141
 
128
- PHPのセッション変数をJavaScriptのfunction add()関数の中に入れてみようとしましたが記述方法がかりませんでした。
142
+ PHPのセッション変数をJavaScriptのfunction add()関数の中に入れてみようとしましたが記述方法が間違っているの、「新規作成」ボタンを押しても何も動作しなくなりました。
129
143
 
130
144
  ### 補足情報(FW/ツールのバージョンなど)
131
145