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

質問編集履歴

17

コードの編集

2021/04/01 07:47

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -1,16 +1,16 @@
1
1
  ```php
2
2
  <?php
3
3
  $conf_date=''; // 参照用の日付
4
- tyr{
4
+ try{
5
5
  $db= new PDO('mysql:dbname='. DB_NAME. ';host='
6
6
  . HOST_NAME, USER_NAME, PASS_NAME);
7
- echo '接続完了';
7
+ echo '接続完了'. "<br>";
8
8
  } catch(PDOException $e){
9
9
  echo '接続失敗'. $e->getMessage();
10
10
  }
11
+ // 接続完了
11
12
  $table='SELECT*FROM'. TABLE_NAME;
12
13
  $sql=$db->query($table);
13
- $sql=$db->query($table);
14
14
  var_dump($table); // string(n) "SELECT*FROM (データベース名)"
15
15
  var_dump($conf_date); // string(0) ""
16
16
  var_dump($sql);
@@ -45,7 +45,7 @@
45
45
  }
46
46
  ?>
47
47
  ```
48
- データの内容は、date_timeをkeyとし、
48
+ データの内容は、
49
49
  'date_time' 'value'
50
50
  2000-01-01 00:00:00 60
51
51
  2000-01-01 00:05:00 50
@@ -55,5 +55,6 @@
55
55
  2000-01-02 00:00:00 49
56
56
  .
57
57
  2000-01-31 23:55:00  55
58
+
58
59
  やりたいこととして、取得した'date_time'の値から日付部分を抜き取って、一つ前のデータと同じならば、'Success!'を表示するようにしたい。
59
60
  仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。

16

コードの編集

2021/04/01 07:47

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -37,7 +37,7 @@
37
37
  // 何故か、'Failure'をかえす
38
38
 
39
39
  // debug
40
- echo (substr($row['date_time'],0,10)==conf_date);
40
+ echo (substr($row['date_time'],0,10)==$conf_date);
41
41
  // 確認してみたが、ここでブランク(空)をかえす
42
42
  // 三段論法的にここは 1 を返すはずなのに、なぜか帰ってこない
43
43
 

15

コードの編集

2021/04/01 07:44

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -23,9 +23,9 @@
23
23
  // string(10) "2000-01-01" //(最初のうちはこの値)
24
24
  var_dump($conf_date);
25
25
  // string(10) "2000-01-01" //(最初のうちはこの値)
26
-  echo (substr($row['date_time'],0,10)=='2000-01-01')
26
+  echo (substr($row['date_time'],0,10)=='2000-01-01');
27
27
  // (最初のうちは 1 をかえす)
28
- echo ($conf_date=='2000-01-01')
28
+ echo ($conf_date=='2000-01-01');
29
29
  // (最初のうちは 1 かえす)
30
30
 
31
31
  if (substr($row['date_time'],0,10)==$conf_date){

14

コードの編集

2021/04/01 07:25

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -30,8 +30,10 @@
30
30
 
31
31
  if (substr($row['date_time'],0,10)==$conf_date){
32
32
  echo 'Success!'. "<br>";
33
+  }
33
34
  else if (substr($row['date_time'],0,10)!=$conf_date){
34
35
  echo 'Failure' ."<br>";
36
+ }
35
37
  // 何故か、'Failure'をかえす
36
38
 
37
39
  // debug
@@ -40,6 +42,7 @@
40
42
  // 三段論法的にここは 1 を返すはずなのに、なぜか帰ってこない
41
43
 
42
44
  $conf_date=substr($row['date_time'],0,10);
45
+ }
43
46
  ?>
44
47
  ```
45
48
  データの内容は、date_timeをkeyとし、

13

コードの編集

2021/04/01 07:18

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -48,7 +48,8 @@
48
48
  2000-01-01 00:05:00 50
49
49
  2000-01-01 00:10:00 65
50
50
  .
51
+ 2000-01-01 23:55:00 54
51
- 2000-01-11 00:00:00 54
52
+ 2000-01-02 00:00:00 49
52
53
  .
53
54
  2000-01-31 23:55:00  55
54
55
  やりたいこととして、取得した'date_time'の値から日付部分を抜き取って、一つ前のデータと同じならば、'Success!'を表示するようにしたい。

12

コードの編集

2021/04/01 06:44

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -20,25 +20,26 @@
20
20
 
21
21
  // debug
22
22
  var_dump($row['date_time'],0,10);
23
- // string(10) "2000-01-01" (最初のうちはこの値)
23
+ // string(10) "2000-01-01" //(最初のうちはこの値)
24
24
  var_dump($conf_date);
25
- // string(10) "2000-01-01" (最のうちはこの値)]
25
+ // string(10) "2000-01-01" //(最のうちはこの値)
26
- // この時点ではsubstr($row['date_time'],0,10)も$conf_dateも結果的に同じ値
26
+  echo (substr($row['date_time'],0,10)=='2000-01-01')
27
+ // (最初のうちは 1 をかえす)
28
+ echo ($conf_date=='2000-01-01')
27
- // を取得しているよに見
29
+ // (最初のちは 1 かす)
28
30
 
29
31
  if (substr($row['date_time'],0,10)==$conf_date){
30
32
  echo 'Success!'. "<br>";
31
33
  else if (substr($row['date_time'],0,10)!=$conf_date){
32
34
  echo 'Failure' ."<br>";
35
+ // 何故か、'Failure'をかえす
36
+
37
+ // debug
38
+ echo (substr($row['date_time'],0,10)==conf_date);
39
+ // 確認してみたが、ここでブランク(空)をかえす
40
+ // 三段論法的にここは 1 を返すはずなのに、なぜか帰ってこない
41
+
33
42
  $conf_date=substr($row['date_time'],0,10);
34
- // 取得したデータの日付(20XX:XX:XX)がひとつ前のデータと同じとき処理したい
35
- // なぜかFailureが表示されるが、Successを表示したい
36
-
37
- // 確認用 
38
- echo (substr($row['date_time'],0,10)=='2000-01-01')
39
- // 最初の何回かは1を返す
40
- echo ($conf_date=='2000-01-01')
41
- // 最初の何回かは1を返す
42
43
  ?>
43
44
  ```
44
45
  データの内容は、date_timeをkeyとし、
@@ -46,7 +47,9 @@
46
47
  2000-01-01 00:00:00 60
47
48
  2000-01-01 00:05:00 50
48
49
  2000-01-01 00:10:00 65
50
+ .
51
+ 2000-01-11 00:00:00 54
49
52
  .
50
- .
51
53
  2000-01-31 23:55:00  55
54
+ やりたいこととして、取得した'date_time'の値から日付部分を抜き取って、一つ前のデータと同じならば、'Success!'を表示するようにしたい。
52
- となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。
55
+ 仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。

11

コードの編集

2021/04/01 06:41

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -17,9 +17,18 @@
17
17
  // object(PDOStatement)#4(1){["queryString"]=> string(n)
18
18
  // "SELECT*FROM (データベース名)}
19
19
  foreach($sql as $row){
20
+
21
+ // debug
22
+ var_dump($row['date_time'],0,10);
23
+ // string(10) "2000-01-01" (最初のうちはこの値)
24
+ var_dump($conf_date);
25
+ // string(10) "2000-01-01" (最小のうちはこの値)]
26
+ // この時点ではsubstr($row['date_time'],0,10)も$conf_dateも結果的に同じ値
27
+ // を取得しているように見える
28
+
20
29
  if (substr($row['date_time'],0,10)==$conf_date){
21
30
  echo 'Success!'. "<br>";
22
- elif (substr($row['date_time'],0,10)!=$conf_date){
31
+ else if (substr($row['date_time'],0,10)!=$conf_date){
23
32
  echo 'Failure' ."<br>";
24
33
  $conf_date=substr($row['date_time'],0,10);
25
34
  // 取得したデータの日付(20XX:XX:XX)がひとつ前のデータと同じとき処理したい
@@ -30,8 +39,6 @@
30
39
  // 最初の何回かは1を返す
31
40
  echo ($conf_date=='2000-01-01')
32
41
  // 最初の何回かは1を返す
33
- echo ((substr($row['date_time'],0,10)==$conf_date)
34
- // なぜかブランク(空)が返ってくる
35
42
  ?>
36
43
  ```
37
44
  データの内容は、date_timeをkeyとし、

10

コードの編集

2021/04/01 06:21

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -16,7 +16,6 @@
16
16
  var_dump($sql);
17
17
  // object(PDOStatement)#4(1){["queryString"]=> string(n)
18
18
  // "SELECT*FROM (データベース名)}
19
- die();
20
19
  foreach($sql as $row){
21
20
  if (substr($row['date_time'],0,10)==$conf_date){
22
21
  echo 'Success!'. "<br>";

9

コードの編集

2021/04/01 06:11

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
  $sql=$db->query($table);
13
13
  $sql=$db->query($table);
14
14
  var_dump($table); // string(n) "SELECT*FROM (データベース名)"
15
- var_dump($conf_date)+ // string(0) ""
15
+ var_dump($conf_date); // string(0) ""
16
16
  var_dump($sql);
17
17
  // object(PDOStatement)#4(1){["queryString"]=> string(n)
18
18
  // "SELECT*FROM (データベース名)}

8

コードの編集

2021/04/01 05:57

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -11,9 +11,11 @@
11
11
  $table='SELECT*FROM'. TABLE_NAME;
12
12
  $sql=$db->query($table);
13
13
  $sql=$db->query($table);
14
- var_dump($table);
14
+ var_dump($table); // string(n) "SELECT*FROM (データベース名)"
15
- var_dump($conf_date);
15
+ var_dump($conf_date)+ // string(0) ""
16
16
  var_dump($sql);
17
+ // object(PDOStatement)#4(1){["queryString"]=> string(n)
18
+ // "SELECT*FROM (データベース名)}
17
19
  die();
18
20
  foreach($sql as $row){
19
21
  if (substr($row['date_time'],0,10)==$conf_date){

7

コードの編集

2021/03/31 17:28

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,11 @@
10
10
  }
11
11
  $table='SELECT*FROM'. TABLE_NAME;
12
12
  $sql=$db->query($table);
13
+ $sql=$db->query($table);
14
+ var_dump($table);
15
+ var_dump($conf_date);
16
+ var_dump($sql);
17
+ die();
13
18
  foreach($sql as $row){
14
19
  if (substr($row['date_time'],0,10)==$conf_date){
15
20
  echo 'Success!'. "<br>";

6

コードの編集

2021/03/31 17:27

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -29,9 +29,11 @@
29
29
  ?>
30
30
  ```
31
31
  データの内容は、date_timeをkeyとし、
32
+ 'date_time' 'value'
32
- 2000-01-01 00:00:00
33
+ 2000-01-01 00:00:00 60
33
- 2000-01-01 00:05:00
34
+ 2000-01-01 00:05:00 50
34
- 2000-01-01 00:10:00
35
+ 2000-01-01 00:10:00 65
35
36
  .
36
37
  .
38
+ 2000-01-31 23:55:00  55
37
- 2000-01-31 23:55:00 となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。
39
+ となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。

5

コードの編集

2021/03/31 07:21

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -2,8 +2,13 @@
2
2
  <?php
3
3
  $conf_date=''; // 参照用の日付
4
4
  tyr{
5
+ $db= new PDO('mysql:dbname='. DB_NAME. ';host='
6
+ . HOST_NAME, USER_NAME, PASS_NAME);
5
- $db ....
7
+ echo '接続完了';
8
+ } catch(PDOException $e){
9
+ echo '接続失敗'. $e->getMessage();
6
- ...
10
+ }
11
+ $table='SELECT*FROM'. TABLE_NAME;
7
12
  $sql=$db->query($table);
8
13
  foreach($sql as $row){
9
14
  if (substr($row['date_time'],0,10)==$conf_date){

4

コードの編集

2021/03/31 07:09

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
  if (substr($row['date_time'],0,10)==$conf_date){
10
10
  echo 'Success!'. "<br>";
11
11
  elif (substr($row['date_time'],0,10)!=$conf_date){
12
- echo 'Failure' ."<br>;
12
+ echo 'Failure' ."<br>";
13
13
  $conf_date=substr($row['date_time'],0,10);
14
14
  // 取得したデータの日付(20XX:XX:XX)がひとつ前のデータと同じとき処理したい
15
15
  // なぜかFailureが表示されるが、Successを表示したい

3

コードの編集

2021/03/31 06:50

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ```php
2
2
  <?php
3
- $confirm_date=''; // 参照用の日付
3
+ $conf_date=''; // 参照用の日付
4
4
  tyr{
5
5
  $db ....
6
6
  ...

2

コードの編集

2021/03/31 06:42

投稿

hima-mura.
hima-mura.

スコア42

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

1

コードの編集

2021/03/30 17:57

投稿

hima-mura.
hima-mura.

スコア42

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
  if (substr($row['date_time'],0,10)==$conf_date){
10
10
  echo 'Success!'. "<br>";
11
11
  elif (substr($row['date_time'],0,10)!=$conf_date){
12
- echo 'Failure' ."<br>;
12
+ echo 'Failure' ."<br>;
13
13
  $conf_date=substr($row['date_time'],0,10);
14
14
  // 取得したデータの日付(20XX:XX:XX)がひとつ前のデータと同じとき処理したい
15
15
  // なぜかFailureが表示されるが、Successを表示したい