Carxl no se si llorar o reir ,solo se me ocurren dos cosas:
primeramente darte las gracias encarecidamente a ti y a todos los que m,e habéis ayudado con este problema; la verdad que no me había fijado en lo del
mysql_query dos veces ¡¡ dios santo¡¡ me da ganas de darme de cabezazos ajajjaj.
Esto demuestra que los problemas más estupidos son los que mas guerra dan a veces:
Voy a poner el código como ha quedado ya que por supuesto ahora si funciona ¡¡ un simple update madre mia ¡¡.
Código:
function update_articles_pedido($article) {
//return count($articles);
$conn = db_connect();
for ($i=0;$i<count($article);$i++) {
echo "ID : ".$article[$i][0]." UNIDADES_".$article[$i][1]."<br>";
echo count($article);
$sSQL = "UPDATE pedidos_articulos
SET unidades='".$article[$i][1]."'
WHERE pedidoid ='".$article[$i][0]."' ";
$result=mysql_query($sSQL)or die(mysql_error());
if (!$result)
return 0;
}
return 1;
}
?>
No se si abrir un nuevo post o comentarlo aquí , creo que lo comentaré aquí y haber si alguien sabe. Resulta que esta función recibe los parametros de un formulario que se genera dinamicamente tras otra consulta SELECT la bd. El tema es muy simple , si donde invoco a la función
update_articles_pedido($article) : lo escribo sin $_POST['article'] funciona pero si pongo:
function update_articles_pedido($_POST['article']) . NO FUNCIONA
Yo siempre había usado $_POST[$var] para recojer las variables llegadas por formulario ¿como en este caso no funciona?.
Código:
update_articles_pedido($article)
el formulario lo pongo aquí aunque ya esta en otros posts
<?
if (!session_is_registered("admin_user"))
{
echo "XTT";
exit;
}
panel_control ();
if ($_GET['ref'])
$ref=$_GET['ref'];
else
$ref=$_POST['ref'];
//Comprobamos si hay artículos en el pedido
if (!$article=edit_pedido($ref))
{
echo "<h3>Pedido vacío, por favor añada artículos</h3>";
exit;
}
if (isset($ok)) {
//update_articles_pedido($art,$ref);
if ( !update_articles_pedido($art) )
echo "<p>No se han podido actualizar los artículos, disculpe las molestias, inténtelo más tarde, Gracias</p>";
else
echo "<p>Pedido actualizado correctamente</p>";
//update_articles_pedido($art,$ref);
}
?>
<form name='edit' action="<? $PHP_SELF ?>">
<table cellpadding="16" cellspacing="8">
<tr>
<th> Pedido Ref: <? echo $ref ?> </th>
</tr>
<?
$i=0;
foreach ($article as $row){
echo "<td colspan='2'><input type='hidden' name='art[$i][0]' value='$row[pedidoid]'></td>";
echo "<td colspan='2'><input type='text' name='art[$i][1]' value='$row[unidades]'></td>";
echo "<td><b>Nombre:</b>$row[nombre]</td>";
echo "<td><b>Precio:</b>$row[precio]</td> </tr>";
$i++;
}
?>
<tr>
<td colspan='4' align="center"><input type="submit" name="ok" value="ACTUALIZAR PEDIDO"/></td>
</tr>
<input type="hidden" name="ref" value="<? echo $ref ?>"/>
</form>
<tr>
<td><a href="consulta_pedidos.php?ref=<? echo $ref ?>"> Volver al pedido</a> </td>
</tr>
</table>
Saludos y mil gracias