質問編集履歴

1

追記

2018/08/16 15:49

投稿

makoto-n
makoto-n

スコア436

test CHANGED
File without changes
test CHANGED
@@ -331,3 +331,223 @@
331
331
  なるべくsqlClassで管理するようにしたいとおもっています。
332
332
 
333
333
  結論として何もできていないので進捗はよくないです。
334
+
335
+
336
+
337
+
338
+
339
+ ---
340
+
341
+ 08-17追記
342
+
343
+ 最初から複数ファイルを用意しようとすると、余計にわからなくなると思い
344
+
345
+ 1つのファイルでタイトル一覧を表示するように編集しましたが
346
+
347
+ エラーが出ます。
348
+
349
+ 何が原因か教えていただけませんか?
350
+
351
+ ```php
352
+
353
+ <?php
354
+
355
+ ini_set( 'display_errors', 1 );
356
+
357
+
358
+
359
+ class tesCls {
360
+
361
+
362
+
363
+ // PDO生成
364
+
365
+ function dbconnect(){
366
+
367
+ try {
368
+
369
+ $db = "mysql";
370
+
371
+ $host = "localhost";
372
+
373
+ $dbname = "bb_db";
374
+
375
+ $user = "bb_user";
376
+
377
+ $pass = "bbpass";
378
+
379
+ $charset = "";
380
+
381
+ $dbh = new PDO($db.':host='.$host.';dbname='.$dbname.','.$user.','.$pass);
382
+
383
+ echo "接続ok";
384
+
385
+ } catch (Exception $e) {
386
+
387
+ }
388
+
389
+ }
390
+
391
+
392
+
393
+ // タイトル一覧用SQL
394
+
395
+ function selTitleList(){
396
+
397
+ try {
398
+
399
+ $this->dbconnect();
400
+
401
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
402
+
403
+ $sql = "SELECT titleList.idTitle, titleList.title, COUNT(thread.idName) AS cntRes FROM titleList, thread WHERE titleList.idTitle = thread.idTitle group by titleList.idTitle";
404
+
405
+
406
+
407
+ $stmt = $dbh->prepare($sql);
408
+
409
+ $stmt->execute();
410
+
411
+ $data = array();
412
+
413
+ $count = $stmt->rowCount();
414
+
415
+ while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
416
+
417
+ $data[] = $row;
418
+
419
+ }
420
+
421
+ var_dump($count);
422
+
423
+ var_dump($data);
424
+
425
+ } catch (Exception $e) {
426
+
427
+ }
428
+
429
+ }
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+ // トリップ作成
438
+
439
+ function trip(){
440
+
441
+ $tripkey = '#istrip'; //パスワードとする文字列(# 付き)
442
+
443
+ $tripkey = substr($tripkey, 1);
444
+
445
+
446
+
447
+ $salt = substr($tripkey . 'H.', 1, 2);
448
+
449
+ $salt = preg_replace('/[^.-z]/', '.', $salt);
450
+
451
+ $salt = strtr($salt, ':;<=>?@[\]^_`', 'ABCDEFGabcdef');
452
+
453
+
454
+
455
+ $trip = crypt($tripkey, $salt);
456
+
457
+ $trip = substr($trip, -10);
458
+
459
+ $trip = '◆' . $trip;
460
+
461
+
462
+
463
+ echo $trip;
464
+
465
+ }
466
+
467
+
468
+
469
+ /*
470
+
471
+ int idTitle //
472
+
473
+ String title
474
+
475
+ //int cntArticle //++
476
+
477
+
478
+
479
+ int idTitle //
480
+
481
+ String article
482
+
483
+ int idName
484
+
485
+ String name
486
+
487
+ String trip
488
+
489
+ Date date
490
+
491
+ String password
492
+
493
+ String email
494
+
495
+
496
+
497
+ %Y/%m/%e %k:%i:%s%f
498
+
499
+ */
500
+
501
+ }
502
+
503
+
504
+
505
+ $test = new tesCls();
506
+
507
+
508
+
509
+ $test->selTitleList();
510
+
511
+ echo "<table>".\n."
512
+
513
+ <tr>
514
+
515
+ <th>id</th>
516
+
517
+ <th>title</th>
518
+
519
+ <th>cnt</th>
520
+
521
+ </tr>";
522
+
523
+ foreach ($data as $row) {
524
+
525
+ echo "<tr>";
526
+
527
+ echo "<td>".$row['idTitle']."</td>";
528
+
529
+ echo "<td>".$row['title']."</td>";
530
+
531
+ echo "<td>".$row['cntRes']."</td>";
532
+
533
+ echo "<tr>";
534
+
535
+ }
536
+
537
+ echo "</table";
538
+
539
+ ?>
540
+
541
+ ```
542
+
543
+ ```err
544
+
545
+
546
+
547
+ Notice: Undefined variable: dbh in /Applications/MAMP/htdocs/bb/local-bb/test.php on line 25
548
+
549
+
550
+
551
+ Fatal error: Uncaught Error: Call to a member function setAttribute() on null in /Applications/MAMP/htdocs/bb/local-bb/test.php:25 Stack trace: #0 /Applications/MAMP/htdocs/bb/local-bb/test.php(79): tesCls->selTitleList() #1 {main} thrown in /Applications/MAMP/htdocs/bb/local-bb/test.php on line 25
552
+
553
+ ```