Foros del Web » Programando para Internet » PHP »

¿Cómo incluir consultas mysql dentro de bucle while?

Estas en el tema de ¿Cómo incluir consultas mysql dentro de bucle while? en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/11/2009, 14:41
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 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
  #2 (permalink)  
Antiguo 17/11/2009, 18:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ¿Cómo incluir consultas mysql dentro de bucle while?

No uses $result, usa diferentes nombres de variables para guardar el resultado de mysql_query.

Saludos.
  #3 (permalink)  
Antiguo 19/11/2009, 07:43
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: ¿Cómo incluir consultas mysql dentro de bucle while?

ah, pero qué tonto fui, ¿sólo eso lo resuelve?
ahor pruebo y te cuento.
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #4 (permalink)  
Antiguo 19/11/2009, 12:29
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: ¿Cómo incluir consultas mysql dentro de bucle while?

je, funcionó
gracias GatorV
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
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:53.