Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/11/2009, 14:41
Avatar de arielcasanova
arielcasanova
 
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 7 meses
Puntos: 1
¿Cómo incluir consultas mysql dentro de bucle while?

Gente:
Tengo una consulta a la db, que arrojará distintas rows.
Para cada una de ellas, deberé ejecutar otras consultas, pero eso me genera un error.
Es para una función del tipo "undo" en un programa de contabilidad:
¿Cuál sería la forma correcta de hacerlo? Lo que hago, y sólo ejecuta el código para el primer registro obtenido de la consulta madre, es lo siguiente:

Código:
		<? 

		
		$result = mysql_query("select * from luga_libro_diario where id_operacion='$id_operacion'", $conexion);
		while ($row=mysql_fetch_array($result))
		
		{
		$debe=$row['debe'];
		$haber=$row['haber'];
		$cuenta=$row['cuenta'];
		$id_empleado=$row['id_empleado'];
		$id_operacion=$row['id_operacion'];
		$id_carpeta=$row['id_carpeta'];
		$id_clipro=$row['id_clipro'];
		$id_repuesto=$row['id_repuesto'];
		$cantidad_repuesto=$row['cantidad_repuesto'];

switch ($cuenta)
{
case "Cuenta Corriente":
$sql_01="update luga_clipro set saldo=saldo+$debe where id=$id_clipro"; 
$result = mysql_query($sql_01, $conexion);
break;
case "Acreedores varios":
$sql_02="update luga_clipro set saldo=saldo-$haber where id=$id_clipro"; 
$result = mysql_query($sql_02, $conexion);
break;
case "Mercaderías (0km)":
$sql_03="update luga_carpetas set estado='activo' where id='$id_carpeta'"; 
$result = mysql_query($sql_03, $conexion);
break;
case "Mercaderías (usados)":
$sql_04="update luga_carpetas set estado='activo' where id='$id_carpeta'"; 
$result = mysql_query($sql_04, $conexion);
break;
case "Mercaderías (consignaciones)":
$sql_05="update luga_carpetas set estado='activo' where id='$id_carpeta'"; 
$result = mysql_query($sql_05, $conexion);
break;

}


if ($debe!="0")
{
$sql_06="update luga_cuentas set saldo=saldo-$debe where cuenta='$cuenta'"; 
$result = mysql_query($sql_06, $conexion);}
if ($haber!="0")
{
$sql_07="update luga_cuentas set saldo=saldo+$haber where cuenta='$cuenta'"; 
$result = mysql_query($sql_07, $conexion);
}

if ($id_repuesto!="0")
{
$sql_08="update luga_repuestos set stock=stock+$cantidad_repuesto where id_repuesto='$id_repuesto'"; 
$result = mysql_query($sql_08, $conexion);
}


$sql_09="delete from luga_cheques where id_operacion='$id_operacion'"; 
$result = mysql_query($sql_09, $conexion);

$sql_10="delete from luga_documentos where id_operacion='$id_operacion'"; 
$result = mysql_query($sql_10, $conexion);

$sql_11="delete from luga_libro_diario where id_operacion='$id_operacion'"; 
$result = mysql_query($sql_11, $conexion);

	}


		
		?>

Gracias anticipadas.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar