我需要一些帮助。
我试图从表中使用日期获取一些记录,从2个输入设置开始和结束日期,我的英语很糟糕,对不起。
我的数据库工作得非常好,因为当我把日期放在查询中时,页面给了我所需要的一切,但我需要从<div>
中的输入和节目中选择一个可变日期范围,我用AJAX将日期传递给PHP文件,然后传递给查询。
现在错误:
Warning: Missing argument 1 for CRUD::MostrarRegistrosRangoFecha(),
called in C:\xampp\htdocs\personas\source\php\mostrar_reporte_rango_fecha.php
on line 16 and defined in C:\xampp\htdocs\personas\source\php\core.php on line 93
Warning: Missing argument 2 for CRUD::MostrarRegistrosRangoFecha(),
called in C:\xampp\htdocs\personas\source\php\mostrar_reporte_rango_fecha.php
on line 16 and defined in C:\xampp\htdocs\personas\source\php\core.php on line 93
现在代码:
接收数据的php文件如下所示:
elseif (isset($_POST['fecha_inicial']) && isset($_POST['fecha_final'])) {
if(!file_exists("core.php")) {
die("El archivo core.php no existe o fue movido de su directorio. Contacte a su administrador");
} else {
require("core.php");
$fecha_inicial = $_POST['fecha_inicial'];
$fecha_final = $_POST['fecha_final'];
$object = new CRUD();
$object->MostrarRegistrosRangoFecha($fecha_inicial, $fecha_final);
}
}
core.php中
require __DIR__ . '/db_connect.php';
class CRUD {
protected $db;
function __construct() { $this->db = DB(); }
function __destruct() { $this->db = null; }
public function MostrarRegistrosRangoFecha($fecha_inicial, $fecha_final) {
try {
$q = $this->db->prepare("SELECT E.idEmpleado, R.idRegistro, E.datosEmpleado, R.fecha, C.datosCargo, R.hEntrada, R.hSalida, E.cedulaEmpleado, R.updated_at, R.created_at
FROM registro R
INNER JOIN empleados E ON R.idEmpleado = E.idEmpleado
INNER JOIN cargos C ON R.idCargo = C.idCargo
WHERE fecha BETWEEN ':fecha_inicial' AND ':fecha_final'
ORDER BY fecha ASC");
$q->bindParam("fecha_inicial", $fecha_inicial, PDO::PARAM_STR);
$q->bindParam("fecha_final", $fecha_final, PDO::PARAM_STR);
$q->execute();
$data = array();
while ($row = $q->fetch(PDO::FETCH_ASSOC)) {
$data[] = $row;
} return $data;
} catch (Exception $e) {
echo 'Error leyendo tabla de registro: ' . $q->errorCode();
}
}
文件我用来从查询中获取结果并在html页面中显示。
if(!file_exists("core.php")) {
die("El archivo lib.php no existe o fue movido de su directorio. Contacte a su administrador");
} else {
require 'core.php';
$object = new CRUD();
$data = '<table class="table table-bordered table-striped">
<tr>
<th>Fecha</th>
<th>Nombres y Apellidos</th>
<th>Cedula de Identidad</th>
<th>Cargo</th>
<th>Entrada</th>
<th>Salida</th>
</tr>';
$users = $object->MostrarRegistrosRangoFecha();
$count = count($users);
if (count($users) > 0) {
foreach ($users as $user) {
$FechaPHP = date('d - M', strtotime($user['fecha']));
//$fechaSQL = $user['fecha'];
//$newfecha = date('d-m-Y', strtotime($fechaSQL));
if($user['hSalida'] == '00:00:00'){
$user['hSalida'] = "";
$hEntradaSQL = $user['hEntrada'];
$newhEntrada = date('h:i A', strtotime($hEntradaSQL));
$data .= '
<tr>
<td>' . $FechaPHP . '</td>
<td>' . $user['datosEmpleado'] . '</td>
<td>' . $user['cedulaEmpleado'] . '</td>
<td>' . $user['datosCargo'] . '</td>
<td>' . $newhEntrada . '</td>
<td>' . $user['hSalida'] . '</td>
</tr>';
} else {
$hEntradaSQL = $user['hEntrada'];
$newhEntrada = date('h:i A', strtotime($hEntradaSQL));
$hSalidaSQL = $user['hSalida'];
$newhSalida = date('h:i A', strtotime($hSalidaSQL));
$data .= '<tr>
<td>' . $FechaPHP . '</td>
<td>' . $user['datosEmpleado'] . '</td>
<td>' . $user['cedulaEmpleado'] . '</td>
<td>' . $user['datosCargo'] . '</td>
<td>' . $newhEntrada . '</td>
<td>' . $newhSalida . '</td>
</tr>';
}
}
} else {
$data .= '<tr><td colspan="6" class="text-center">Nadie se ha registrado hoy!</td></tr>';
} $data .= '</table>';
echo $data;
}
现在ajax文件很好,因为我正在测试每个步骤中的警报,它可以发送所有数据。 从ajax获取数据并发送到core.php的php文件也可以。
我做错了什么?