Cita:
Iniciado por jmqc
Dundee ref viene por url?, o lo llenas cuando haces la consulta? si es así la primera vez que lo muestras en <th> Pedido Ref: <? echo $ref ?> </th> no debería mostrarte el valor pq no existe la variable, yo agregue casi al final del foreach esto: $ref = $row[ref];para llenar la variable y cuando coloques el valor al hidden la variable este llena eso lo puedes comprobar cuando cargues tu página viendo el codigo html generado.
He editado porque acabo de compobar que la función devuelve true , es decir que sí pasa ya el $ref. Creo que el fallo está en mi UPDATE a la bd , haber si alguien me puede decir que falla.
Código:
function update_articles_pedido($articles,$ref) {
$conn = db_connect();
for ($i=0;$i<count($articles);$i++) {
//Actualizamos el Stock de cada articulo del pedido
$sSQL =mysql_query ( "update pedidos_articulos
set unidades='".$articles[$i][1]."'
where artid='".$articles[$i][0]."'
AND ref='$ref'" );
$result=mysql_query($sSQL)or die(mysql_error());
mysql_free_result($sSQL);
if (!$result)
return false;
}
return true ;
}
Acabo de localizar el problema , pero aún no he sido capaz de resolverlo (creo que me falla la sintaxis), el tema es que si hacemos
echo count($articles) que se supone que es un array bidimensional con el número de artículos con sus
IDS y UNIDADES me da 0 . es decir que no los guarda bien el formulario.
Lo curioso es que si miramos la barra de direcciones despúes de enviar el formulario parece que los pasa bien, así que el tema estará digo yo en que no paso los valores bien a la función que hace el UPDATE ¿no?.
Código:
?art[0][0]=1376&art[0][1]=22&art[1][0]=1383&art[1][1]=1&art[2][0]=1377&art[2][1]=5&art[3][0]=1374&art[3][1]=6&ok=ACTUALIZAR+PEDIDO&ref=307
¿ SEGURO QUE ESTO ESTÁ BIEN PASADO ASÍ: ?
if (!update_articles_pedido($_POST['art'],$ref))
Si le doy a ver ćodigo fuente en el mozilla sale esto (por eso no entiendo porque no pasa el array correctamente).
Código:
<td colspan='2'><input type='hidden' name='art[0][0]' value='1376'></td>
<td colspan='2'><input type='text' name='art[0][1]' value='22'></td>
<td><b>Nombre:</b>Burro 10 Carro</td>
<td><b>Precio:</b>1315.6</td>
</tr>
artid: 1376<br>unidades: 22<br>
<td colspan='2'><input type='hidden' name='art[1][0]' value='1383'></td>
<td colspan='2'><input type='text' name='art[1][1]' value='1'></td>
<td><b>Nombre:</b>Buey 14</td><td><b>Precio:</b>26.3</td>
</tr>
artid: 1383<br>unidades: 1<br>
<td colspan='2'><input type='hidden' name='art[2][0]' value='1377'>
</td><td colspan='2'><input type='text' name='art[2][1]' value='5'>
</td><td><b>Nombre:</b>Burro 10 Carro</td><td><b>Precio:</b>299
</td> </tr>artid: 1377<br>unidades: 5<br><td colspan='2'><input type='hidden' name='art[3][0]' value='1374'>
</td><td colspan='2'><input type='text' name='art[3][1]' value='6'></td>
<td><b>Nombre:</b>Burro 8 Carro</td><td><b>Precio:</b>243</td> </tr>artid: 1374<br>unidades: 6<br>numero: 1<tr>
Un saludo y gracias