Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/09/2008, 09:24
Avatar de Dundee
Dundee
 
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 22 años, 7 meses
Puntos: 8
Respuesta: pasar array bidimensional a otra función

Cita:
Iniciado por jmqc Ver Mensaje
Que tal Dundee, primero no dices donde estas llamando la función o por lo menos en este trozo de código no esta, pareciera que lo estas haciendo desde otra página, si es así en tu primera página donde llenas el arreglo debes colocar un control en el formulario donde guardas los valores de article, puedes colocar input tipo hidden con el valor del arreglo. Espero te sirva de ayuda. Saludos...

Se me olvidaba, si lo estas haciendo en la misma página donde haces la consulta tienes que cambiar el llamado de la función asi:
update_articles_pedido($article,$row['ref']);

Espero te sirva de ayuda. Saludos...
Hola ante todo gracias por tu rápida respuesta pero te cuento : la función
function update_articles_pedido($articles,$ref) está en otro archivo , es decir la llamo con require , ese require está bien púes si pongo en la función cualquier cosa , por ejemplo echo "hola" y la invoco funciona.
El problema que tengo es que por algún motivo no llegan los valores del formulario a la función . Es curioso pero tengo un hidden en el formulario
<input type="hidden" name="ref" value="<? echo $ref ?>"/>
y parece que el valor de $ref no llega , ya que despúes de esto hago :
echo $_POST['ref']; Y NO SALE NADA , tremendamente raro. Creo que lo mejor es que pegue el script entero sino siempre vamos a estar con las dudas , y seguro que es una tontería pero que me está volviendo loco.

Código:
//ya ,ya se que es mejor usar $_SESSION[] qu esta ,pero es php 4 I'm sorry 
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
	//(esto funciona bien y es para mostrar  los artículos con el foreach)
 if (!$article=edit_pedido($ref))
 {
 	echo "<h3>Pedido vacío, por favor añada artículos</h3>";
 	exit;
}
if ($_POST['ref']) {


	if (!update_articles_pedido($_POST['art'],$ref))
 	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>";

}

 ?>
 <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[artid]'></td>";

  echo "<td colspan='2'><input type='text' name='art[$i][1]' value='$row[unidades]'></td>";
 echo "<td><b>PedRef:</b>$row[ref]</td>";
 echo "<td><b>Nombre:</b>$row[nombre]</td>";
 echo "<td><b>Precio:</b>$row[precio]</td> </tr>";
 $i++;
 echo "artid: ".$row[artid]."<br>";
  echo "unidades: ".$row[unidades]."<br>";

}

?>
<tr> 	
<td colspan='4'><input type="submit" name="ok"  value="ACTUALIZAR PEDIDO"/>
				
					<input type="hidden" name="ref"  value="<? echo $ref ?>"/>	
</td>
</tr>
</form>

</table>
Un saludo