Foros del Web » Programando para Internet » PHP »

Como usar el resultado de un query varias veces???

Estas en el tema de Como usar el resultado de un query varias veces??? en el foro de PHP en Foros del Web. Cómo usar el resultado de un query varias veces??? Saludos banda..... En realidad el resultado de la variable $suma que viene de un mysql_QUERY es ...
  #1 (permalink)  
Antiguo 11/06/2012, 12:17
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Como usar el resultado de un query varias veces???

Cómo usar el resultado de un query varias veces???
Saludos banda.....
En realidad el resultado de la variable $suma que viene de un mysql_QUERY es el que quiero usar de nuevo.


Código PHP:
$suma mysql_query("select sum(import) from moves where id_plie='$plie';",$conexion)
 or die(
"Problemas en el Select Suma Saldo: ".mysql_error());
    while (
$rows mysql_fetch_array($suma))
    {
        echo 
"<TD><input type='text'  name='sum_sal'  size='7' value=\"".$rows['sum(import)']."\"></TD>";
        echo 
"</tr>\n";
    } 
De acuerdo al valor obtenido por la suma de todos los Importes de Gastos & Anticipos tengo el siguiente resultado.
Código MySQL:
Ver original
  1. mysql> select * from moves where id_plie='777';
  2. +-----+---------+------------+---------+---------+
  3. | num | id_plie | cve_concep | cve_mov | import  |
  4. +-----+---------+------------+---------+---------+
  5. |  88 | 777     | AUT        | G       |  300.00 |
  6. |   8 | 777     | MEX        | A       |  -44.00 |
  7. |  11 | 777     | MEX        | G       |  111.00 |
  8. |  22 | 777     | OTROS      | A       | -343.00 |
  9. +-----+---------+------------+---------+---------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> select sum(import) from moves where id_plie='777';
  13. +-------------+
  14. | sum(import) |
  15. +-------------+
  16. |       24.00 |
  17. +-------------+
  18. 1 row in set (0.00 sec)
Entonces de acuerdo al valor de la suma de los importes yo debo seleccionar si es
a) saldo a Favor (cualquier valor que sea mayor de cero).
b) saldo cero (el resultado es igual a cero).
c) saldo en contra (cualquier valor que sea menor de cero).

entonces para estos casos se debe de cumplir la siguiente condición.

a) $saldo = mysql_query("insert into moves (id_plie,cve_concep,cve_mov,import) values
('$_REQUEST[date_08]','saldo','+','$suma') ",$conexion)
or die("Problemas en el Insert $suma mayor a cero;".mysql_error());

b) $saldo = mysql_query("insert into moves (id_plie,cve_concep,cve_mov,import) values
('$_REQUEST[date_08]','saldo','0','$suma') ",$conexion)
or die("Problemas en el Insert $suma igual a cero;".mysql_error());

c) $saldo = mysql_query("insert into moves (id_plie,cve_concep,cve_mov,import) values
('$_REQUEST[date_08]','saldo','-','$suma') ",$conexion)
or die("Problemas en el Insert $suma menor a cero;".mysql_error());

He hecho lo siguiente pero no me inserta el valor escrito por la variable $suma.

Código PHP:
$suma mysql_query("select sum(import) from moves where id_plie='$plie';",$conexion)
 or die(
"Problemas en el Select Suma Saldo:&nbsp;".mysql_error());
/*
  switch ($suma)
  {
 
case ($suma>0):
$saldo = mysql_fetch_array($suma);
*/
if ($_POST['sum_sal']>0

$result7 mysql_query("insert into moves (id_plie,cve_concep,cve_mov,import) values 
('$_REQUEST[date_08]','saldo','+','$_POST[sum_sal]') "
,$conexion)
 or die(
"Problemas en el Insert '$_POST[sum_sal]' mayor que cero;".mysql_error());
}
elseif (
$_POST['sum_sal']==0

$result7 mysql_query("insert into moves (id_plie,cve_concep,cve_mov,import) values 
('$_REQUEST[date_08]','saldo','0','$_POST[sum_sal]') "
,$conexion)
 or die(
"Problemas en el Insert '$_POST[sum_sal]' igual que cero;".mysql_error());
}
elseif (
$_POST['sum_sal']<0

$result7 mysql_query("insert into moves (id_plie,cve_concep,cve_mov,import) values 
('$_REQUEST[date_08]','saldo','-','$_POST[sum_sal]') "
,$conexion)
 or die(
"Problemas en el Insert '$_POST[sum_sal]' menor que cero;".mysql_error());
}
else
{
echo 
" <span style=\"color:red;\">Todav&iacute;a no existe Fecha de <b>Emisi&oacute;n de Pliego</b> para el pliego # &nbsp; <b>$plie</b></span>
<br><br>"
;

Y lo único que me introduce como valor de la variable $suma es CERO.
Como se ve en la siguiente figura.

Código MySQL:
Ver original
  1. mysql> select * from moves where id_plie='777';
  2. +-----+---------+------------+---------+---------+
  3. | num | id_plie | cve_concep | cve_mov | import  |
  4. +-----+---------+------------+---------+---------+
  5. |  88 | 777     | AUT        | G       |  300.00 |
  6. |   8 | 777     | MEX        | A       |  -44.00 |
  7. |  11 | 777     | MEX        | G       |  111.00 |
  8. |  22 | 777     | OTROS      | A       | -343.00 |
  9. |  90 | 777     | saldo      | 0       |    0.00 |
  10. +-----+---------+------------+---------+---------+
  11. 5 rows in set (0.00 sec)

Última edición por benjaminvera; 11/06/2012 a las 12:27
  #2 (permalink)  
Antiguo 11/06/2012, 12:48
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Como usar el resultado de un query varias veces???

Cita:
Iniciado por benjaminvera Ver Mensaje
Cómo usar el resultado de un query varias veces???
Saludos banda.....
En realidad el resultado de la variable $suma que viene de un mysql_QUERY es el que quiero usar de nuevo.


Código PHP:
$suma mysql_query("select sum(import) from moves where id_plie='$plie';",$conexion)
 or die(
"Problemas en el Select Suma Saldo:&nbsp;".mysql_error());
    while (
$rows mysql_fetch_array($suma))
    {
        echo 
"<TD><input type='text'  name='sum_sal'  size='7' value=\"".$rows['sum(import)']."\"></TD>";
        echo 
"</tr>\n";
    } 

Te resultaria bien facil si utilizara mysql_fetch_row

Con esta funcion solo tienes que especificar la posicion del campo, en tu caso el total de la suma estaria en la posicion 0.

Saludos.
  #3 (permalink)  
Antiguo 11/06/2012, 15:00
 
Fecha de Ingreso: junio-2008
Mensajes: 101
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Como usar el resultado de un query varias veces???

Gix2....

Mil gracias por tu ayuda..... así quedó con la función "mysql_fetch_row"
Código PHP:
    while ($rows_sum mysql_fetch_row($suma))
    {
        echo 
"<TD><input type='text'  name='sum_sal'  size='7' value=\"".$rows_sum[0]."\"></TD>";
        echo 
"</tr>\n";
    } 
Pero mi duda es que ese mismo resultado lo quiero volver a usar de acuerdo al valor ya sea en:

A) POSITIVO,
B) cero y
C) NEGATIVO

Y entonces hacer los siguientes insert para su respectivo caso.
Teniendo en cuenta que $rows_sum es el valor numérico a introducir en la tabla moves.

a) insert into moves (id_plie,cve_concep,cve_mov,import) values
('$_REQUEST[date_08]','saldo','+',$rows_sum);

b) insert into moves (id_plie,cve_concep,cve_mov,import) values
('$_REQUEST[date_08]','saldo','0',$rows_sum);

c) insert into moves (id_plie,cve_concep,cve_mov,import) values
('$_REQUEST[date_08]','saldo','+',$rows_sum);

Pero eh... aquí la DUDA....

Cómo volver a usar la variable del fetch_row que en este caso es la siguiente:

Código PHP:
    while ($rows_sum mysql_fetch_row($suma))
    {
        echo 
"<TD><input type='text'  name='sum_sal'  size='7' value=\"".$rows_sum[0]."\"></TD>";
        echo 
"</tr>\n";
    } 
  #4 (permalink)  
Antiguo 11/06/2012, 15:05
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Como usar el resultado de un query varias veces???

esto es una consulta de sql. usa un alias sum(import) as total. para imprimirlo $rows['total']
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: mysql, query, sql, usar, resultados, variables
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 09:18.