質問編集履歴

1

教えてほしい内容を具体的にしました

2019/08/09 10:14

投稿

waiwai1010
waiwai1010

スコア16

test CHANGED
File without changes
test CHANGED
@@ -60,12 +60,150 @@
60
60
 
61
61
  1.confirmや、update・delete等の処理を記述する具体的な場所。
62
62
 
63
- 2.「ajax使うならこうすべき」などのアドバイス。
63
+ ~~2.「ajax使うならこうすべき」などのアドバイス。~~
64
-
64
+
65
- 3.「そもそも、処理の流れをこうするべき」などのアドバイス。
65
+ ~~3.「そもそも、処理の流れをこうするべき」などのアドバイス。~~
66
66
 
67
67
 
68
68
 
69
69
 
70
70
 
71
71
  よろしくお願いします。
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ ご意見をいただき質問内容を具体的にします。
82
+
83
+ > そこは質問を編集して他者に伝わる表現に調整してもらえたらと。
84
+
85
+
86
+
87
+
88
+
89
+ ajax通信の結果、重複するデータがあれば1以上の数値が、なければ0が.done()のdataとして戻ってくる想定です。
90
+
91
+
92
+
93
+ regist.php内
94
+
95
+ ```html
96
+
97
+ <form method="POST" id="regist_form">
98
+
99
+ <input 以下省略… >
100
+
101
+ <button type="submit" name="mode" value="chkBooking" >登録</button>
102
+
103
+ </form>
104
+
105
+
106
+
107
+ ```
108
+
109
+ ```jalascript
110
+
111
+ $(function() {
112
+
113
+ $('#regist_form').submit(function(event){
114
+
115
+ //HTMLでの送信をキャンセル
116
+
117
+ event.preventDefault();
118
+
119
+ // 送信するフォーム要素を取得
120
+
121
+ var regist_data = $('#regist_form').serializeArray();
122
+
123
+ // POST用配列に変換する
124
+
125
+ var postData = {};
126
+
127
+ var name = '';
128
+
129
+ var val = '';
130
+
131
+ for (var key in regist_data) {
132
+
133
+ name = regist_data[key]['name'];
134
+
135
+ val = regist_data[key]['value'];
136
+
137
+ postData[name] = val;
138
+
139
+ }
140
+
141
+
142
+
143
+ //Ajax通信を行う処理
144
+
145
+ var ajax_res = $.post({
146
+
147
+ url:"./ajax_check_booking.php",
148
+
149
+ type:"post",
150
+
151
+ data:postData
152
+
153
+ })
154
+
155
+ .done(function(data,textStatus){
156
+
157
+ //通信成功時の処理
158
+
159
+ **通信に成功したらdataの値により、0だったら仮予約枠に情報をupdateしたり、1以上だったらconfirmダイアログを出してOkならupdate、キャンセルなら予約枠のデータをdeleteしたい**
160
+
161
+ })
162
+
163
+ .fail(function(textStatus){
164
+
165
+ //通信失敗時の処理
166
+
167
+ alert('通信に失敗しました/' + textStatus);
168
+
169
+ })
170
+
171
+ });
172
+
173
+ });
174
+
175
+ ```
176
+
177
+
178
+
179
+
180
+
181
+ check_booking.php
182
+
183
+ ```PHP
184
+
185
+ //POSTされたデータの重複を判定する
186
+
187
+ if($_POST){
188
+
189
+ //SQLを投げて重複するデータ数を返す関数
190
+
191
+ $dup = check($_POST);
192
+
193
+ }
194
+
195
+ echo $dup['count_id'];
196
+
197
+ ```
198
+
199
+
200
+
201
+
202
+
203
+ 処理の流れとしては.done()の部分でDB処理をさせたいのですが、.done()内にPHPは記述できないと思います。
204
+
205
+ どこにDB処理をさせるPHPを書くべきでしょうか?
206
+
207
+
208
+
209
+ 重ねてお願いいたします。