Hola, tengo un problemilla al momento de actualizar varios registros a la vez, el tema es que cuando inserto varios me resulta sin problemas y cuando los quiero modificar, utilizo la misma formula pero me arroja un error.
envio el codigo para queme comprendan mejor, el primero es del formulario de donde envio los datos modificados.
Código PHP:
if (!empty($_POST['todas']))
{
$sql="SELECT * FROM caja where cliente='$idcliente'";
$result=mysql_query($sql,$IdConexion);
$Ccajas = mysql_num_rows($result);
if ($row= mysql_fetch_array($result))
{
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
echo "<b><BR>DESPLEGANDO TODAS LAS CAJAS</B>";
echo "<table border=\"1\" bordercolor=\"000000\" cellspacing=\"0\">";
echo "<tr><td align='center'>Caja</td><td align='center'>Departamento</td><td align='center'>Estado</td><td align='center'>Tipo</td><td align='center'>Bodega</td><td align='center'>Sala</td><td align='center'>Estante</td><td align='center'>Linea</td><td align='center'>Columna</td></tr>";
$i=1;
DO
{
echo "<tr>";
echo "<td align='center'>$row[numero]</td>";
$numcs= $row[numero];
echo "<input type=\"hidden\" name=\"numcs$i\" value=\"$numcs\">";
echo "<td><select name=\"iddepto$i\">";
$SQLconsulta="SELECT * FROM departamento where cliente='$idcliente' and estado='1'";
$consulta = mysql_query($SQLconsulta,$IdConexion) or die(mysql_error());
$NFilasd = mysql_num_rows($consulta);
if($NFilasd==0)
{
echo "<option value=\"No Posee\"> No Posee </option>";
}
else
{
echo "<option value=\"Pendiente\"> Pendiente </option>";
While($registro=mysql_fetch_assoc($consulta))
{
if ($row[depto] == $registro['nombre'])
{
echo "<option value=\"".$registro['nombre']."\" selected>".$registro['nombre']."</option>\n";
}
else
{
echo "<option value=\"".$registro['nombre']."\">".$registro['nombre']."</option>\n";
}
}
}
echo "</select></td>";
echo "<td><select name=\"estado$i\">";
$SQLestado="SELECT * FROM estado order by idestado asc";
$consultae = mysql_query($SQLestado,$IdConexion) or die(mysql_error());
While($registroe=mysql_fetch_assoc($consultae))
{
if ($row[estado] == $registroe['nombre'])
{
echo "<option value=\"".$registroe['nombre']."\" selected>".$registroe['nombre']."</option>\n";
}
else
{
echo "<option value=\"".$registroe['nombre']."\">".$registroe['nombre']."</option>\n";
}
}
echo "</select></td>";
echo "<td><select name='tipo$i'>";
if($row[tipo] == 'Normal'){echo "<option value='Normal' selected>Normal</option><option value='Resagos'>Resagos</option>";}
if($row[tipo] == 'Resagos'){echo "<option value='Normal'>Normal</option><option value='Resagos' Selected>Resagos</option>";}
echo "</select></td>";
echo "<td><input name=\"bodega$i\" type=\"text\" size='7' value='$row[bodega]'></td>";
echo "<td><input name=\"sala$i\" type=\"text\" size='7' value='$row[sala]'></td>";
echo "<td><input name=\"estante$i\"type=\"text\" size='7' value='$row[estante]'></td>";
echo "<td><input name=\"linea$i\"type=\"text\" size='7' value='$row[linea]'></td>";
echo "<td><input name=\"columna$i\"type=\"text\" size='7' value='$row[columna]'></td>";
echo "</tr>";
$i++;
}
WHILE ($row=mysql_fetch_array($result));
//$i++;
//}
echo "</table>";
echo "<input type=\"hidden\" name=\"Ccajas\" value=\"$Ccajas\">";
echo "<br><input type=\"submit\" name=\"modificat\" value=\"Realizar Modificacion\">";
echo "</form>";
}
}
Como ya dije utilizo la misma formula para insertar y me resulta, ahora envio el codigo del update:
Código PHP:
if (!empty($_POST['modificat']))
{
$idcliente=$_POST['idcliente'];$Ccajas=$_POST['Ccajas'];
$i=1;
While($i<=$Ccajas)
{
$sql="UPDATE caja SET depto="$_POST['iddepto$i']",estado="$_POST['estado$i']",tipo="$_POST['tipo$i']",bodega="$_POST['bodega$i']",sala="$_POST['sala$i']",estante="$_POST['estante$i']",linea="$_POST['linea$i']",columna="$_POST['columna$i']" WHERE cliente='$idcliente' and numero='"$_POST['numcs$i']"'";
mysql_query($sql);
$i++;
}
}
Bueno, ese es el tema, si alguien me puede ayudar, se agradece.