Hola a todos los usuarios del sitio.
Estoy intentando hacer una consulta que me cuente, mostrándome en pantalla la cantidad de registros que hay entre la hora actual y dos horas.
Obviamente me explico mejor, supongamos que en mi db, tengo una situación como esta:
grow_time_start y grow_time_end
representan dos parámetros en el nivel de tiempo para la fecha especificada, donde el servicio está activo.
Entonces Jack el 18 de julio de 2022 podría aprovechar el servicio activo de 8 p. m. a 9 p. m.
y hasta aquí, todo despejado.
Ahora supongamos que llega Mark, un usuario aún no registrado pero que quiere usar el servicio y que al momento de registrarse para poder usarlo es el 18 de julio de 2022, y que la hora actual son las 8:30 pm.
Ahora, para verificar si la hora actual está entre dos horas, sin duda haría esto:
$current_time = date("h:i a");
$begin = "9:00 am";
$end = "7:00 pm";
$date1 = DateTime::createFromFormat('H:i a', $current_time);
$date2 = DateTime::createFromFormat('H:i a', $begin);
$date3 = DateTime::createFromFormat('H:i a', $end);
echo $current_time.'<br>';
if ($date1 > $date2 && $date1 < $date3) {
echo 'Yes';
} else {
echo 'No';
}
y si quisiera contar cuantos registros existen en una tabla de WP, del codex, lo haria en esta
<?php
$user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->users;"));
echo '<p>User count is ' . $user_count . '</p>';
?>
unir todo, para mostrar cuantos registros hay que incluyen la hora actual ($ test_time) = 8:30 pm, lo hice así, pero fue en vano:
$time_services = $wpdb->get_results( $wpdb->prepare(
"SELECT * FROM $table"
) );
foreach ( $time_services as $t_ser ) {
$start_time = $t_ser->grow_time_start;
$end_time = $t_ser->grow_time_end;
$test_time="8:30 pm";
$record_count = $wpdb->get_var( "SELECT COUNT(*) FROM $table WHERE $test_time BETWEEN $start_time AND $end_time" );
echo "<p>record is: {$record_count}</p>";
}
.