Foros del Web » Programando para Internet » PHP »

Error foreach en funcion llamada desde FLEX

Estas en el tema de Error foreach en funcion llamada desde FLEX en el foro de PHP en Foros del Web. Hola a todos, soy relativamente nuevo en flex y php pues resulta que tengo en php mis clases (servicios) en amfphp los cuales llamo desde ...
  #1 (permalink)  
Antiguo 29/05/2012, 10:33
 
Fecha de Ingreso: agosto-2005
Mensajes: 13
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Error foreach en funcion llamada desde FLEX

Hola a todos, soy relativamente nuevo en flex y php

pues resulta que tengo en php mis clases (servicios) en amfphp los cuales llamo desde flex, para agregar, borrar, actualizar datos, etc.

pero me tope con un problema, tengo que traer primero una lista de registros y guardarlos, ya que tengo que actualizar un inventario y luego posteriormente eliminar esos registros de mi detalle, asi ke se me ocurrio

1- generar el array con los datos
2- empezar una transaccion
3- foreach para recorrer cada registro del arreglo y hacer el update
4- borrar los registros de ese arreglo de su tabla por el id
5- hacer el commit o el rollback

en amfphp tenemos un browser de los servicios que me muestran mis funciones y si meto un **** return $sql **** despues del foreach, efectivamente me muestra el update tabla, bla bla, el problema, es a la hora de hacerlo desde flex, mando llamar esa funcion y me marca.!


e[level]: Unknown error type
e[details]: C:\xampp\htdocs\taller\servicios\services\tiposser vicios_svc.php
e[line]: 133
e[description]: Invalid argument supplied for foreach()
e[code]: AMFPHP_RUNTIME_ERROR

*** Alguien sabe.! ke sucede.!!!!!

Alguien me puede ayudar.! es urgente, ya me atrase en este proyecto


--------------------------

// Borrar borrar detalle anterior, actualizar inventario, insertar nuevo detalle tipos_servicios
function delDetalle($id)
{
$detalle = array();

$detalle = $this->getDetalle($id);

// Iniciar transaccion
$sql = "SET AUTOCOMMIT=0;";
$resultado = $this->query($sql);
$sql = "BEGIN;";
$resultado = $this->query($sql);

foreach ( $detalle as $row=>$datos )
{
$sql = "update inventario set existencia = existencia + ".$datos[cantidad]." where id_articulo = ".$datos[id_articulo].";";
$resultado = $this->query($sql);
}

$SQL = "delete from det_tipos_servicios where id_tipo_servicio = $id ;";
if ($rs2 = $this->query($SQL))
{
$sql = "COMMIT;";
$resultado = $this->query($sql);
return "SI";
}
else
{
$sql = "ROLLBACK;";
$resultado = $this->query($sql);
return "NO";
}

}

















[email protected]

Etiquetas: flex, foreach, funcion, llamada, registro, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.