質問編集履歴

17

コードの編集

2021/04/01 07:47

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
  $conf_date=''; // 参照用の日付
6
6
 
7
- tyr{
7
+ try{
8
8
 
9
9
  $db= new PDO('mysql:dbname='. DB_NAME. ';host='
10
10
 
11
11
  . HOST_NAME, USER_NAME, PASS_NAME);
12
12
 
13
- echo '接続完了';
13
+ echo '接続完了'. "<br>";
14
14
 
15
15
  } catch(PDOException $e){
16
16
 
@@ -18,9 +18,9 @@
18
18
 
19
19
  }
20
20
 
21
+ // 接続完了
22
+
21
23
  $table='SELECT*FROM'. TABLE_NAME;
22
-
23
- $sql=$db->query($table);
24
24
 
25
25
  $sql=$db->query($table);
26
26
 
@@ -92,7 +92,7 @@
92
92
 
93
93
  ```
94
94
 
95
- データの内容は、date_timeをkeyとし、
95
+ データの内容は、
96
96
 
97
97
  'date_time' 'value'
98
98
 
@@ -112,6 +112,8 @@
112
112
 
113
113
  2000-01-31 23:55:00  55
114
114
 
115
+
116
+
115
117
  やりたいこととして、取得した'date_time'の値から日付部分を抜き取って、一つ前のデータと同じならば、'Success!'を表示するようにしたい。
116
118
 
117
119
  仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。

16

コードの編集

2021/04/01 07:47

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  // debug
78
78
 
79
- echo (substr($row['date_time'],0,10)==conf_date);
79
+ echo (substr($row['date_time'],0,10)==$conf_date);
80
80
 
81
81
  // 確認してみたが、ここでブランク(空)をかえす
82
82
 

15

コードの編集

2021/04/01 07:44

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -48,11 +48,11 @@
48
48
 
49
49
  // string(10) "2000-01-01" //(最初のうちはこの値)
50
50
 
51
-  echo (substr($row['date_time'],0,10)=='2000-01-01')
51
+  echo (substr($row['date_time'],0,10)=='2000-01-01');
52
52
 
53
53
  // (最初のうちは 1 をかえす)
54
54
 
55
- echo ($conf_date=='2000-01-01')
55
+ echo ($conf_date=='2000-01-01');
56
56
 
57
57
  // (最初のうちは 1 かえす)
58
58
 

14

コードの編集

2021/04/01 07:25

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -62,9 +62,13 @@
62
62
 
63
63
  echo 'Success!'. "<br>";
64
64
 
65
+  }
66
+
65
67
  else if (substr($row['date_time'],0,10)!=$conf_date){
66
68
 
67
69
  echo 'Failure' ."<br>";
70
+
71
+ }
68
72
 
69
73
  // 何故か、'Failure'をかえす
70
74
 
@@ -81,6 +85,8 @@
81
85
 
82
86
 
83
87
  $conf_date=substr($row['date_time'],0,10);
88
+
89
+ }
84
90
 
85
91
  ?>
86
92
 

13

コードの編集

2021/04/01 07:18

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -98,7 +98,9 @@
98
98
 
99
99
  .
100
100
 
101
+ 2000-01-01 23:55:00 54
102
+
101
- 2000-01-11 00:00:00 54
103
+ 2000-01-02 00:00:00 49
102
104
 
103
105
  .
104
106
 

12

コードの編集

2021/04/01 06:44

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -42,15 +42,19 @@
42
42
 
43
43
  var_dump($row['date_time'],0,10);
44
44
 
45
- // string(10) "2000-01-01" (最初のうちはこの値)
45
+ // string(10) "2000-01-01" //(最初のうちはこの値)
46
46
 
47
47
  var_dump($conf_date);
48
48
 
49
- // string(10) "2000-01-01" (最のうちはこの値)]
49
+ // string(10) "2000-01-01" //(最のうちはこの値)
50
50
 
51
- // この時点ではsubstr($row['date_time'],0,10)も$conf_dateも結果的に同じ値
51
+  echo (substr($row['date_time'],0,10)=='2000-01-01')
52
52
 
53
+ // (最初のうちは 1 をかえす)
54
+
55
+ echo ($conf_date=='2000-01-01')
56
+
53
- // を取得しているよに見
57
+ // (最初のちは 1 かす)
54
58
 
55
59
 
56
60
 
@@ -62,23 +66,21 @@
62
66
 
63
67
  echo 'Failure' ."<br>";
64
68
 
65
- $conf_date=substr($row['date_time'],0,10);
69
+ // 何故か、'Failure'をかえす
66
70
 
67
- // 取得したデータの日付(20XX:XX:XX)がひとつ前のデータと同じとき処理したい
68
71
 
72
+
73
+ // debug
74
+
75
+ echo (substr($row['date_time'],0,10)==conf_date);
76
+
77
+ // 確認してみたが、ここでブランク(空)をかえす
78
+
69
- // なぜかFailureが表示されるが、Successを表示した
79
+ // 三段論法的にここは 1 を返すはずのに、なぜか帰ってこな
70
80
 
71
81
 
72
82
 
73
- // 確認用 
74
-
75
- echo (substr($row['date_time'],0,10)=='2000-01-01')
83
+ $conf_date=substr($row['date_time'],0,10);
76
-
77
- // 最初の何回かは1を返す
78
-
79
- echo ($conf_date=='2000-01-01')
80
-
81
- // 最初の何回かは1を返す
82
84
 
83
85
  ?>
84
86
 
@@ -94,10 +96,14 @@
94
96
 
95
97
  2000-01-01 00:10:00 65
96
98
 
97
- .
99
+ .
100
+
101
+ 2000-01-11 00:00:00 54
98
102
 
99
103
  .
100
104
 
101
105
  2000-01-31 23:55:00  55
102
106
 
107
+ やりたいこととして、取得した'date_time'の値から日付部分を抜き取って、一つ前のデータと同じならば、'Success!'を表示するようにしたい。
108
+
103
- となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。
109
+ 仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。

11

コードの編集

2021/04/01 06:41

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -36,11 +36,29 @@
36
36
 
37
37
  foreach($sql as $row){
38
38
 
39
+
40
+
41
+ // debug
42
+
43
+ var_dump($row['date_time'],0,10);
44
+
45
+ // string(10) "2000-01-01" (最初のうちはこの値)
46
+
47
+ var_dump($conf_date);
48
+
49
+ // string(10) "2000-01-01" (最小のうちはこの値)]
50
+
51
+ // この時点ではsubstr($row['date_time'],0,10)も$conf_dateも結果的に同じ値
52
+
53
+ // を取得しているように見える
54
+
55
+
56
+
39
57
  if (substr($row['date_time'],0,10)==$conf_date){
40
58
 
41
59
  echo 'Success!'. "<br>";
42
60
 
43
- elif (substr($row['date_time'],0,10)!=$conf_date){
61
+ else if (substr($row['date_time'],0,10)!=$conf_date){
44
62
 
45
63
  echo 'Failure' ."<br>";
46
64
 
@@ -61,10 +79,6 @@
61
79
  echo ($conf_date=='2000-01-01')
62
80
 
63
81
  // 最初の何回かは1を返す
64
-
65
- echo ((substr($row['date_time'],0,10)==$conf_date)
66
-
67
- // なぜかブランク(空)が返ってくる
68
82
 
69
83
  ?>
70
84
 

10

コードの編集

2021/04/01 06:21

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -33,8 +33,6 @@
33
33
  // object(PDOStatement)#4(1){["queryString"]=> string(n)
34
34
 
35
35
  // "SELECT*FROM (データベース名)}
36
-
37
- die();
38
36
 
39
37
  foreach($sql as $row){
40
38
 

9

コードの編集

2021/04/01 06:11

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  var_dump($table); // string(n) "SELECT*FROM (データベース名)"
28
28
 
29
- var_dump($conf_date)+ // string(0) ""
29
+ var_dump($conf_date); // string(0) ""
30
30
 
31
31
  var_dump($sql);
32
32
 

8

コードの編集

2021/04/01 05:57

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -24,11 +24,15 @@
24
24
 
25
25
  $sql=$db->query($table);
26
26
 
27
- var_dump($table);
27
+ var_dump($table); // string(n) "SELECT*FROM (データベース名)"
28
28
 
29
- var_dump($conf_date);
29
+ var_dump($conf_date)+ // string(0) ""
30
30
 
31
31
  var_dump($sql);
32
+
33
+ // object(PDOStatement)#4(1){["queryString"]=> string(n)
34
+
35
+ // "SELECT*FROM (データベース名)}
32
36
 
33
37
  die();
34
38
 

7

コードの編集

2021/03/31 17:28

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -21,6 +21,16 @@
21
21
  $table='SELECT*FROM'. TABLE_NAME;
22
22
 
23
23
  $sql=$db->query($table);
24
+
25
+ $sql=$db->query($table);
26
+
27
+ var_dump($table);
28
+
29
+ var_dump($conf_date);
30
+
31
+ var_dump($sql);
32
+
33
+ die();
24
34
 
25
35
  foreach($sql as $row){
26
36
 

6

コードの編集

2021/03/31 17:27

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -60,14 +60,18 @@
60
60
 
61
61
  データの内容は、date_timeをkeyとし、
62
62
 
63
- 2000-01-01 00:00:00
63
+ 'date_time' 'value'
64
64
 
65
- 2000-01-01 00:05:00
65
+ 2000-01-01 00:00:00 60
66
66
 
67
+ 2000-01-01 00:05:00 50
68
+
67
- 2000-01-01 00:10:00
69
+ 2000-01-01 00:10:00 65
68
70
 
69
71
  .
70
72
 
71
73
  .
72
74
 
75
+ 2000-01-31 23:55:00  55
76
+
73
- 2000-01-31 23:55:00 となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。
77
+ となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。

5

コードの編集

2021/03/31 07:21

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -6,9 +6,19 @@
6
6
 
7
7
  tyr{
8
8
 
9
- $db ....
9
+ $db= new PDO('mysql:dbname='. DB_NAME. ';host='
10
10
 
11
+ . HOST_NAME, USER_NAME, PASS_NAME);
12
+
13
+ echo '接続完了';
14
+
15
+ } catch(PDOException $e){
16
+
17
+ echo '接続失敗'. $e->getMessage();
18
+
11
- ...
19
+ }
20
+
21
+ $table='SELECT*FROM'. TABLE_NAME;
12
22
 
13
23
  $sql=$db->query($table);
14
24
 

4

コードの編集

2021/03/31 07:09

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  elif (substr($row['date_time'],0,10)!=$conf_date){
22
22
 
23
- echo 'Failure' ."<br>;
23
+ echo 'Failure' ."<br>";
24
24
 
25
25
  $conf_date=substr($row['date_time'],0,10);
26
26
 

3

コードの編集

2021/03/31 06:50

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  <?php
4
4
 
5
- $confirm_date=''; // 参照用の日付
5
+ $conf_date=''; // 参照用の日付
6
6
 
7
7
  tyr{
8
8
 

2

コードの編集

2021/03/31 06:42

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
@@ -1 +1 @@
1
- sqlから取得したデータのphpでの比較
1
+ sqlから取得したデータのphpでの比較 == と!= の仕様
test CHANGED
File without changes

1

コードの編集

2021/03/30 17:57

投稿

hima-mura.
hima-mura.

スコア42

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  elif (substr($row['date_time'],0,10)!=$conf_date){
22
22
 
23
- echo 'Failure' ."<br>;
23
+ echo 'Failure' ."<br>;
24
24
 
25
25
  $conf_date=substr($row['date_time'],0,10);
26
26