Foros del Web » Programando para Internet » PHP »

ayuda en registro de datos en dos tablas

Estas en el tema de ayuda en registro de datos en dos tablas en el foro de PHP en Foros del Web. buenos noches, quiero comentarles el problemita quiero realizar una cosulta a una tabla donde determinados campos se guarden en otra tabla. tengo el siguiente codigo ...
  #1 (permalink)  
Antiguo 29/09/2010, 20:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 9 meses
Puntos: 0
ayuda en registro de datos en dos tablas

buenos noches,
quiero comentarles el problemita quiero realizar una cosulta a una tabla donde determinados campos se guarden en otra tabla.

tengo el siguiente codigo
inserto los campos que llegan de un formulario normal
Código PHP:
include_once("../../conexion/conexion.php");
$id =  $_POST['id'];
$producto =  $_POST['producto'];
        
$precio =  $_POST['precio'];
        
$fecha =  $_POST['fecha'];
        
$hora =  $_POST['hora'];

$sql "INSERT INTO precio_producto ( id, precio, producto, hora, fecha ) VALUES
    ('$id','$precio','$producto','$hora','$fecha')"
;
   
$rs mysql_query($sql); 
a hora viene la parte complicada o por lo menos como estoy en aprendizaje, quiero consultar los datos que acabo de guardar en la tabla precio_producto producto, hora ,fecha, precio donde quiero calcular el maximo precio, minimo, y promedio y guardarla en una tabla llamada historial el codigo que tengo es este:
Código PHP:
$sql "SELECT * FROM precio_producto";
 
$valores"SELECT MAX(precio),
                     MIN(precio),
                     Avg(precio),
                     producto,  
                     hora, 
                     fecha
                     FROM precio_producto"
;
//almaceno la consulta en un array
$maxmin mysql_fetch_array(mysql_query($valores));
 
$maxprecio="$maxmin[1]";
   
$minprecio="$maxmin[2]";
   
$promedio="$maxmin[3]";
$producto="$maxmin[4]";
   
$hora="$maxmin[5]";
   
$fecha="$maxmin[6]";
$sql "INSERT INTO historial (maxprecio,minprecio,promedio,producto,hora,fecha) VALUES
    ('$maxprecio','$minprecio','$promedio','$producto','$hora','$fecha')"
;//4
   
$rs mysql_query($sql); 
la cosa es que me inserta el primer registro bien, pero cuando inserto otro dato en el primer formulario no me sigue insertando en la tabla historial, y la idea esque si yo inserto un dato en el formulario el haga todo este calculo incluyendo el nuevo dato y saque los nuevos maximos y minimos, promedio, pero pues no hace eso asi que necesito ayudaaa
  #2 (permalink)  
Antiguo 29/09/2010, 21:25
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: ayuda en registro de datos en dos tablas

los arreglos empiezan desde 0 no desde 1 y otra cosa las variables no van entre comillas sino lo que asignas es un string.

$maxprecio=$maxmin[0];
  #3 (permalink)  
Antiguo 30/09/2010, 00:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ayuda en registro de datos en dos tablas

Desde php no se puede acceder directamente a una funcion mysql hay que crear un alias

$valores= "SELECT MAX($col) as max, MIN($col) as min FROM precio_producto";
$maxmin = mysql_fetch_array(mysql_query($valores));
  #4 (permalink)  
Antiguo 30/09/2010, 07:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ayuda en registro de datos en dos tablas

gracias por sus respuestas se corrigieron y se aplicaron todas sus sugerencias, y funciono correctamente, también se quito que se ingrese el idhistorial y se coloco auto_increment en la tabla.

a hora lo que quiero es realizar una validacion de la fecha, producto, hora de la tabla precio_producto si son iguales a las campos fecha, producto, hora de la tabla historial
realice un UPDATE si no inserte un nuevo registro que seria lo que hemos hecho hasta a hora

quien me puede ayduar con esa validacion

Etiquetas: dos, registro, tablas
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 15:32.