/ / Mysql inserisce record che non sono nella stessa tabella: php, mysql

Mysql inserisce record che non si trovano nella stessa tabella: php, mysql

Ciao buona giornata ho questi 4 dischi come vedi sotto.

-----fecha---
2018/03/01 0:05
2018/03/01 0:15
2018/03/01 0:20
--------------

Sono registrati in mysql con il loro rispettivo id.

cosa voglio fare da mysql se c'è un metodo o qualcosa che mi mostri i record che non corrispondono

Ad esempio, ho diversi record, questi record vanno da 5 minuti a 5 minuti come si vede nella tabella, quello che voglio fare è che mysql mi mostra il record che non c'è, per esempio, non è il

2018/03/01 0:10 e questo lo dimostra

Apprezzo il vostro aiuto.

risposte:

0 per risposta № 1

Dovresti correggere 0: in quanto non è un valore orario valido.

Puoi farlo come segue usando DateTime, ma la tua necessità di definire i valori di inizio e fine, presumo che tu stia facendo ciò selezionando i tuoi dati "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))
?>

https://3v4l.org/faWEY

Risultato:

Array
(
[1] => 2018/04/12 00:10
)