Foros del Web » Programando para Internet » PHP »

como hacer que un campo tome el valor de otro, recorriendo todo un registro

Estas en el tema de como hacer que un campo tome el valor de otro, recorriendo todo un registro en el foro de PHP en Foros del Web. hola amigos ayuda por favor se trata de lo siguiente: tengo una tabla que contiene una lista de precios (precio_mayor_alto, precio_mayor_bajo, precio_menor_alto, precio_menor_bajo) precio_mayor_bajo y ...
  #1 (permalink)  
Antiguo 18/10/2007, 16:53
 
Fecha de Ingreso: junio-2006
Ubicación: Sucre
Mensajes: 25
Antigüedad: 18 años, 5 meses
Puntos: 0
como hacer que un campo tome el valor de otro, recorriendo todo un registro

hola amigos ayuda por favor

se trata de lo siguiente:
tengo una tabla que contiene una lista de precios (precio_mayor_alto, precio_mayor_bajo, precio_menor_alto, precio_menor_bajo)

precio_mayor_bajo y precio_menor_bajo tienen el valor de cero.

lo que quiere es hacer un script que recorra toda la tabla y modificar los anterios dos campos, que tomen los valores de sus campos similares, osea de la siguiente forma:

precio_mayor_bajo=precio_mayor_alto
precio_menor_bajo=precio_menor_alto

he intentado pero no me sale. me llena a todos los campos el mismo valor:
este es mi script, me imagino que mi error esta en la linea del update.

<?php
include("conexion.php");
$link=Conectarse();

$result=mysql_query("select precio_mayor_alto, precio_mayor_bajo, precio_menor_alto, precio_menor_bajo from precio",$link);
while($row = mysql_fetch_row($result)) {
if($row["precio_mayor_bajo"]==0){
mysql_query("update precio set precio_mayor_bajo='$row[0]'");
}
}

mysql_free_result($result);

?>


la lista de precios pueden verlo aqui
http://aclo.org.bo/sipre/mostrar_prod.php?id_clasif=22&nombre_clasif=Abarro tes

lo que quiero es que los campos vacios que tomen el mismo valor que el precio de su lado.
no se si me dejo entender

gracias de antemano
  #2 (permalink)  
Antiguo 18/10/2007, 18:19
 
Fecha de Ingreso: abril-2005
Mensajes: 208
Antigüedad: 19 años, 7 meses
Puntos: 1
Re: como hacer que un campo tome el valor de otro, recorriendo todo un registro

Hola,

A mi entender mysql_fetch_row, no te puede devolver un identificador distintivo (precio_mayor_bajo) eso lo hace mysql_fetch_array, debería ser $row[1]; checálo a ver que tal te va.

Otra manera también puede ser hacerlo en una consulta anidada y dejarlo todo del lado de la base de datos.

Saludos,

Logout.
  #3 (permalink)  
Antiguo 18/10/2007, 20:51
Usuario no validado
 
Fecha de Ingreso: julio-2003
Ubicación: <?="www.tuky.cl";?>
Mensajes: 132
Antigüedad: 21 años, 4 meses
Puntos: 4
Re: como hacer que un campo tome el valor de otro, recorriendo todo un registro

Según tengo entendido (y en las pruebas que he realizado) si lees la tabla con un

while()
{
}

y dentro de ese while ejecutas otra consulta a la misma tabla... esta última consulta no va a funcionar....
  #4 (permalink)  
Antiguo 19/10/2007, 06:41
 
Fecha de Ingreso: junio-2006
Ubicación: Sucre
Mensajes: 25
Antigüedad: 18 años, 5 meses
Puntos: 0
De acuerdo Re: como hacer que un campo tome el valor de otro, recorriendo todo un registro

holas, asunto solucionado

gracias Logout por la idea, lo hice con dos consultas SQL, que manera de complicarse la vida con cosas tan simples.

UPDATE PRECIO
SET PRECIO_MAYOR_BAJO = PRECIO_MAYOR_ALTO
WHERE PRECIO_MAYOR_BAJO = 0

UPDATE PRECIO
SET PRECIO_MENOR_BAJO = PRECIO_MENOR_ALTO
WHERE PRECIO_MENOR_BAJO = 0

GOODBYE
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 12:18.