質問編集履歴
17
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
```php
|
2
2
|
<?php
|
3
3
|
$conf_date=''; // 参照用の日付
|
4
|
-
|
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
|
-
データの内容は、
|
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
コードの編集
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
コードの編集
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
コードの編集
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
コードの編集
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-
|
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
コードの編集
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
|
-
|
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
コードの編集
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
|
-
|
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
コードの編集
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
コードの編集
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)
|
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
コードの編集
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
コードの編集
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
コードの編集
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
|
-
|
39
|
+
となっています。仕様なのでしょうか。なにが間違っているのか、分からず、困っています。助言をお願いします。
|
5
コードの編集
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
|
-
|
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
コードの編集
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
コードの編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
```php
|
2
2
|
<?php
|
3
|
-
$
|
3
|
+
$conf_date=''; // 参照用の日付
|
4
4
|
tyr{
|
5
5
|
$db ....
|
6
6
|
...
|
2
コードの編集
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
sqlから取得したデータのphpでの比較
|
1
|
+
sqlから取得したデータのphpでの比較 == と!= の仕様
|
body
CHANGED
File without changes
|
1
コードの編集
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
|
-
|
12
|
+
echo 'Failure' ."<br>;
|
13
13
|
$conf_date=substr($row['date_time'],0,10);
|
14
14
|
// 取得したデータの日付(20XX:XX:XX)がひとつ前のデータと同じとき処理したい
|
15
15
|
// なぜかFailureが表示されるが、Successを表示したい
|