大家好,我的代码非常简洁:
mysql_select_db("tierra") or die(mysql_error());
$query= "SELECT DISTINCT `fecha` FROM inventarioStat WHERE `fecha` = '$timestamp'";
$result = mysql_query($query) or die ("Error in query: $query " . mysql_error());
$row = mysql_fetch_array($result);
$num_results = mysql_num_rows($result);
echo $row['fecha'];
if ($row['fecha'] == $timestamp) { break;}
else
{
mysql_select_db("tierra") or die(mysql_error());
if(isset($_POST["hiddenProducto"]) && count($_POST['hiddenProducto'])>0) {
foreach($_POST["hiddenProducto"] as $key => $value) {
"TOTAL:". $total = $value;
"<br>";
"Value:".$value = $_POST["total"][$key];
"<br>";
"idItem:".$idItem = $_POST['hiddenidItem'][$key];
"<br>";
"Nombre:".$nombre = $_POST['nombre'];
"<br>";
"Producto:".$producto = $_POST['hiddenProducto'][$key];
"<br>";
"Provedor:".$proveedor = $_POST['proveedor'][$key];
"<br>";
"undCaja:".$undCaja = $_POST['udCaja'][$key];
"<br>";
"sueltas:".$undCaja = $_POST['sueltas'][$key];
"<br>";
"formato:".$formato=$_POST['formato'][$key];
"<br>";
"cajas:".$cajas = $_POST['cajas'][$key];
"<br>";
"diferencia:".$diferencia = ($_POST['lastValue'][$key]) - $value;
"<br>";
$query = "INSERT INTO `inventarioStat` (fecha, localizacion, nombre, idItem, producto, proveedor, udCaja, formato, cajas, sueltas, total, diferencia) VALUES
('$timestamp', '$localizacion','$nombre', '$idItem', '$producto', '$proveedor', '$undCaja', '$formato','$cajas', '$sueltas', '$value', '$diferencia')";
mysql_query($query);
}
echo "Hecho!";
}
}
?>
困扰我的是以下部分:
if ($row['fecha'] == $timestamp) { break;}
它根本不起作用,我试图避免在数据库中插入重复的日期 但显然我做错了。
答案 0 :(得分:4)
替换
if ($row['fecha'] = $timestamp)
与
if ($row['fecha'] === $timestamp) //<----- That is a strict-comparison
您正在进行分配操作而不是比较操作。您可以使用==
或===
答案 1 :(得分:1)
编辑:不推荐使用mysql_query,你应该考虑使用ADOdb或PDO
首先用
替换初始查询$query= "SELECT COUNT(*) as fecha FROM inventarioStat WHERE `fecha` = '$timestamp'";
然后用
替换条件if (intval($row['fecha']) === 0)
{
mysql_select_db("tierra") or die(mysql_error());
if(isset($_POST["hiddenProducto"]) && count($_POST['hiddenProducto'])>0) {
foreach($_POST["hiddenProducto"] as $key => $value) {
"TOTAL:". $total = $value;
"<br>";
"Value:".$value = $_POST["total"][$key];
"<br>";
"idItem:".$idItem = $_POST['hiddenidItem'][$key];
"<br>";
"Nombre:".$nombre = $_POST['nombre'];
"<br>";
"Producto:".$producto = $_POST['hiddenProducto'][$key];
"<br>";
"Provedor:".$proveedor = $_POST['proveedor'][$key];
"<br>";
"undCaja:".$undCaja = $_POST['udCaja'][$key];
"<br>";
"sueltas:".$undCaja = $_POST['sueltas'][$key];
"<br>";
"formato:".$formato=$_POST['formato'][$key];
"<br>";
"cajas:".$cajas = $_POST['cajas'][$key];
"<br>";
"diferencia:".$diferencia = ($_POST['lastValue'][$key]) - $value;
"<br>";
$query = "INSERT INTO `inventarioStat` (fecha, localizacion, nombre, idItem, producto, proveedor, udCaja, formato, cajas, sueltas, total, diferencia) VALUES
('$timestamp', '$localizacion','$nombre', '$idItem', '$producto', '$proveedor', '$undCaja', '$formato','$cajas', '$sueltas', '$value', '$diferencia')";
mysql_query($query);
}
echo "Hecho!";
}