質問編集履歴

1

追記

2016/08/30 03:54

投稿

earnest_gay
earnest_gay

スコア615

test CHANGED
File without changes
test CHANGED
@@ -101,3 +101,485 @@
101
101
  ]);
102
102
 
103
103
  ```
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ 追記
112
+
113
+ ```ここに言語を入力
114
+
115
+ <?php
116
+
117
+
118
+
119
+ $dsn = 'mysql:dbname=test;host=localhost;charset=utf8';
120
+
121
+ $user = 'root';
122
+
123
+ $password = '';
124
+
125
+ $option = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
126
+
127
+ $pdo = new PDO($dsn, $user, $password, $option);
128
+
129
+
130
+
131
+
132
+
133
+ $sql = "SELECT MIN(rento) as rento FROM articles";
134
+
135
+ $minRentos = $pdo->query($sql);
136
+
137
+ $minRento=$minRentos->fetch();
138
+
139
+
140
+
141
+
142
+
143
+ $sql = "SELECT MAX(rento) as rento FROM articles";
144
+
145
+ $maxRentos = $pdo->query($sql);
146
+
147
+ $maxRento=$maxRentos->fetch();
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+ $limit = filter_input(INPUT_GET,"limit",FILTER_VALIDATE_INT,["options"=>["default"=>10]]);
156
+
157
+
158
+
159
+ $sql = sprintf("
160
+
161
+ SELECT
162
+
163
+ a.`id`,
164
+
165
+ a.`title`,
166
+
167
+ a.`area`,
168
+
169
+ a.`buildingtype`,
170
+
171
+ a.`floorplan`,
172
+
173
+ a.`rento`,
174
+
175
+ a.`deposit`,
176
+
177
+ a.`keymoney`,
178
+
179
+ a.`body`,
180
+
181
+ a.`created`,
182
+
183
+ a.`modified`,
184
+
185
+ c.`companyName`
186
+
187
+ FROM articles a
188
+
189
+ INNER JOIN users u ON a.`user_id` = u.`id`
190
+
191
+ INNER JOIN companys c ON u.`company_id`= c.`id`
192
+
193
+ WHERE title LIKE ?
194
+
195
+
196
+
197
+ AND (( buildingtype LIKE ? ) or ( buildingtype LIKE ? ) or ( buildingtype LIKE ? ))
198
+
199
+
200
+
201
+ AND( floorplan LIKE ? )
202
+
203
+ AND( floorplan LIKE ? )
204
+
205
+ AND( floorplan LIKE ? )
206
+
207
+ AND( floorplan LIKE ? )
208
+
209
+ AND( floorplan LIKE ? )
210
+
211
+ AND( floorplan LIKE ? )
212
+
213
+ AND( floorplan LIKE ? )
214
+
215
+ AND( floorplan LIKE ? )
216
+
217
+ AND( floorplan LIKE ? )
218
+
219
+ AND( floorplan LIKE ? )
220
+
221
+ AND( floorplan LIKE ? )
222
+
223
+ AND( floorplan LIKE ? )
224
+
225
+ AND( floorplan LIKE ? )
226
+
227
+ AND( floorplan LIKE ? )
228
+
229
+ AND( floorplan LIKE ? )
230
+
231
+
232
+
233
+ LIMIT %s",$limit
234
+
235
+ );
236
+
237
+
238
+
239
+ $search = '%'.filter_input(INPUT_GET,"searchs").'%';
240
+
241
+ $mansion = '%'.filter_input(INPUT_GET,"mansion").'%';
242
+
243
+ $apartment = '%'.filter_input(INPUT_GET,"apartment").'%';
244
+
245
+ $residentialHome = '%'.filter_input(INPUT_GET,"residentialHome").'%';
246
+
247
+ $madori1 = '%'.filter_input(INPUT_GET,"1R").'%';
248
+
249
+ $madori2 = '%'.filter_input(INPUT_GET,"1K").'%';
250
+
251
+ $madori3 = '%'.filter_input(INPUT_GET,"1DK").'%';
252
+
253
+ $madori4 = '%'.filter_input(INPUT_GET,"1LDK").'%';
254
+
255
+ $madori5 = '%'.filter_input(INPUT_GET,"2K").'%';
256
+
257
+ $madori6 = '%'.filter_input(INPUT_GET,"2DK").'%';
258
+
259
+ $madori7 = '%'.filter_input(INPUT_GET,"2LDK").'%';
260
+
261
+ $madori8 = '%'.filter_input(INPUT_GET,"3K").'%';
262
+
263
+ $madori9 = '%'.filter_input(INPUT_GET,"3DK").'%';
264
+
265
+ $madori10 = '%'.filter_input(INPUT_GET,"3LDK").'%';
266
+
267
+ $madori11 = '%'.filter_input(INPUT_GET,"4K").'%';
268
+
269
+ $madori12 = '%'.filter_input(INPUT_GET,"4DK").'%';
270
+
271
+ $madori13 = '%'.filter_input(INPUT_GET,"4LDK").'%';
272
+
273
+ $madori14 = '%'.filter_input(INPUT_GET,"4LDKS").'%';
274
+
275
+ $madori15 = '%'.filter_input(INPUT_GET,"5LDK~").'%';
276
+
277
+
278
+
279
+ $bodys = $pdo->prepare($sql);
280
+
281
+ $bodys -> execute([
282
+
283
+ $search,
284
+
285
+ $mansion,
286
+
287
+ $apartment,
288
+
289
+ $residentialHome,
290
+
291
+ $madori1,
292
+
293
+ $madori2,
294
+
295
+ $madori3,
296
+
297
+ $madori4,
298
+
299
+ $madori5,
300
+
301
+ $madori6,
302
+
303
+ $madori7,
304
+
305
+ $madori8,
306
+
307
+ $madori9,
308
+
309
+ $madori10,
310
+
311
+ $madori11,
312
+
313
+ $madori12,
314
+
315
+ $madori13,
316
+
317
+ $madori14,
318
+
319
+ $madori15
320
+
321
+ ]);
322
+
323
+ ?>
324
+
325
+
326
+
327
+ <!-- ここまで裏の処理 -->
328
+
329
+
330
+
331
+ <form action="" method="get">
332
+
333
+
334
+
335
+ 表示件数
336
+
337
+ <select name="limit">
338
+
339
+ <?php
340
+
341
+ for ($i= 5; $i <=50;$i=$i+5){
342
+
343
+ $selected = $i == 10 ? 'selected': '';
344
+
345
+ echo '<option value="'. $i .'"'. $selected .'> '. $i .'件づつ</option>';
346
+
347
+ }
348
+
349
+ ?>
350
+
351
+ </select>
352
+
353
+ <br />
354
+
355
+ <br />
356
+
357
+
358
+
359
+
360
+
361
+ フリーワード
362
+
363
+ <input type="text" name="searchs">
364
+
365
+ <br />
366
+
367
+ <br />
368
+
369
+
370
+
371
+
372
+
373
+ 家賃
374
+
375
+ <select name="limitMin">
376
+
377
+ <?php
378
+
379
+ echo '<option value="'.sprintf('%0.1f', 0) .'">下限なし</option><br />';
380
+
381
+ $startPrice = round($minRento['rento'],-3)/10000;
382
+
383
+ $shredded = 0.5;
384
+
385
+ for ($startPrice; $startPrice <= (round($maxRento['rento'],-3)/10000); $startPrice = $startPrice + $shredded) {
386
+
387
+ echo '<option value="'.sprintf('%0.1f', $startPrice) .'">'.$startPrice .'万円以上</option><br />';
388
+
389
+ }
390
+
391
+ ?>
392
+
393
+ </select>
394
+
395
+
396
+
397
+ <select name="limitMax">
398
+
399
+ <?php
400
+
401
+ $startPrice = round($minRento['rento'],-3)/10000;
402
+
403
+ $shredded = 0.5;
404
+
405
+ for ($startPrice + $swing; $startPrice <= (round($maxRento['rento'],-3)/10000); $startPrice = $startPrice + $shredded) {
406
+
407
+ echo '<option value="'.sprintf('%0.1f', $startPrice) .'">'.$startPrice .'万円以上</option><br />';
408
+
409
+ }
410
+
411
+ echo '<option value="'.sprintf('%0.1f', 0) .'" selected>上限なし</option><br />';
412
+
413
+ ?>
414
+
415
+ </select>
416
+
417
+ <br />
418
+
419
+ <br />
420
+
421
+
422
+
423
+
424
+
425
+ 建物種別
426
+
427
+ <input type="checkbox" name="mansion" value="マンション">マンション
428
+
429
+ <input type="checkbox" name="apartment" value="アパート">アパート
430
+
431
+ <input type="checkbox" name="residentialHome" value="一戸建て">一戸建て・その他
432
+
433
+ <br />
434
+
435
+ <br />
436
+
437
+
438
+
439
+
440
+
441
+ 間取
442
+
443
+ <?php
444
+
445
+ $madoris = array(
446
+
447
+ '1R',
448
+
449
+ '1K',
450
+
451
+ '1DK',
452
+
453
+ '1LDK',
454
+
455
+ '2K',
456
+
457
+ '2DK',
458
+
459
+ '2LDK',
460
+
461
+ '3K',
462
+
463
+ '3DK',
464
+
465
+ '3LDK',
466
+
467
+ '4K',
468
+
469
+ '4DK',
470
+
471
+ '4LDK',
472
+
473
+ '4LDKS',
474
+
475
+ '5LDK~',
476
+
477
+ );
478
+
479
+ ?>
480
+
481
+ <?php
482
+
483
+
484
+
485
+ foreach($madoris as $madori ){
486
+
487
+ echo '<input type="checkbox" name="' . $madori . '" value="' . $madori . '">' . $madori . '';
488
+
489
+ }
490
+
491
+ ?>
492
+
493
+ <br />
494
+
495
+ <br />
496
+
497
+ <input type="submit" name="submit" value="選択した条件で検索する">
498
+
499
+ </form>
500
+
501
+
502
+
503
+
504
+
505
+ <table border="" width="100%">
506
+
507
+ <thead>
508
+
509
+ <tr>
510
+
511
+ <th>NO</th>
512
+
513
+ <th>タイトル</th>
514
+
515
+ <th>概要</th>
516
+
517
+ <th>間取</th>
518
+
519
+ <th>建物種別</th>
520
+
521
+ <th>賃料</th>
522
+
523
+ <th>敷金/礼金</th>
524
+
525
+ <th>管理会社</th>
526
+
527
+ <th>公開日</th>
528
+
529
+ </tr>
530
+
531
+ </thead>
532
+
533
+ <tbody>
534
+
535
+ <?php
536
+
537
+ foreach($bodys as $body){
538
+
539
+ ?>
540
+
541
+ <tr>
542
+
543
+ <td><?php echo $body['id']; ?></td>
544
+
545
+ <td><?php echo $body['title'] ?></td>
546
+
547
+ <td><?php echo $body['body'] ?></td>
548
+
549
+ <td><?php echo $body['floorplan'] ?></td>
550
+
551
+ <td><?php echo $body['buildingtype'] ?></td>
552
+
553
+ <td><?php echo number_format($body['rento']) ?></td>
554
+
555
+ <td><?php echo sprintf('%.1f', ($body['deposit'] / $body['rento']))."/".sprintf('%0.1f', ($body['keymoney'] / $body['rento'])) ?></td>
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+ <td><?php echo $body['companyName'] ?></td>
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+ <td><?php echo date('Y年m月d日', strtotime($body['created'])); ?></td>
574
+
575
+
576
+
577
+ </tr>
578
+
579
+ <?php } ?>
580
+
581
+ </tbody>
582
+
583
+ </table>
584
+
585
+ ```