Ahoj dobrý deň, mám tieto 4 záznamy, ako vidíte nižšie.
-----fecha---
2018/03/01 0:05
2018/03/01 0:15
2018/03/01 0:20
--------------
Sú zaregistrovaní v mysql s ich príslušným ID.
čo chcem urobiť z mysql, ak existuje metóda alebo niečo, čo mi ukazuje záznamy, ktoré sa nezhodujú
Napríklad mám niekoľko záznamov, tieto záznamy idú za 5 minút až 5 minút, ako je vidieť v tabuľke. Chcem urobiť, aby mi mysql ukázal záznam, ktorý tam nie je, napríklad to nie je
2018/03/01 0:10 a to iba ukazuje
Cením si tvoju pomoc.
odpovede:
0 pre odpoveď č. 1Mali by ste to opraviť 0:
pretože to nie je platná hodinová hodnota.
Pomocou DateTime to môžete urobiť nasledovne, ale ak potrebujete definovať začiatočnú a konečnú hodnotu, predpokladám, že to robíte výberom svojich údajov „fecha“.
<?php
// query this in a select
$result = [
"2018/04/12 00:05",
"2018/04/12 00:15",
"2018/04/12 00:20",
];
// define start/end by first and last items in array
$begin = DateTime::createFromFormat("Y/m/d H:i", min($result));
$end = DateTime::createFromFormat("Y/m/d H:i", max($result));
$interval = new DateInterval("PT5M"); // plus time 5 min
$daterange = new DatePeriod($begin, $interval ,$end);
// build an array to compare it with
foreach ($daterange as $date){
$range[] = $date->format("Y/m/d H:i");
}
// array diff out the differences
print_r(array_diff($range, $result))
?>
výsledok:
Array
(
[1] => 2018/04/12 00:10
)