Foros del Web » Programando para Internet » PHP »

Actualizar variable con xajax

Estas en el tema de Actualizar variable con xajax en el foro de PHP en Foros del Web. En primer lugar dar las gracias por este foro y la ayuda que presta. Tengo una pagina en php donde se muestran varios selectores con ...
  #1 (permalink)  
Antiguo 01/11/2013, 04:48
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 10 años, 5 meses
Puntos: 0
Actualizar variable con xajax

En primer lugar dar las gracias por este foro y la ayuda que presta.
Tengo una pagina en php donde se muestran varios selectores con varias opciones cada uno de ellos.
Cada opcion tiene un valor diferente, no se trata del value, si no de un valor relacionado en la base de datos.
Al cargar la pagina hago una suma con los valores de cada una de las opciones que se ven el los selectores.
La suma la guardo en una variable a la que llamo por ejemplo: $precio_total.

Lo que he hecho es crear una funcion con xajax para que al cambiar alguna de las opciones que hay en los selectores se cambie el valor de la variable y se muestre la suma actualizada.
Hasta aqui todo bien, el problema lo tengo en que no se como pasar el valor actualizado a la funcion que uso en xajax.
Pongo el codigo a continuacion explicando cada paso.
La funcion para el archivo xajax_functions.php
Esta funcion lo que hace es que consulta en la base de datos el valor relacionado a la opcion que cambia en el selector y le suma o resta ese valor a la variable que paso como $precio_actual.
Código PHP:
function changePrecioProducto($prod_option_value$prod_id$precio_actual){
    global 
$languages_id$currencies;
    
$objResponse = new xajaxResponse();

        
$query_price_option tep_db_query("SELECT options_values_price, price_prefix 
                                            FROM " 
TABLE_PRODUCTS_ATTRIBUTES "
                                            WHERE options_values_id = '" 
. (int)$prod_option_value "'
                                            and products_id = '" 
. (int)$prod_id "'");

        
$row_price_option tep_db_fetch_array($query_price_option);

          if(
$row_price_option['price_prefix'] != '-') {
              
$price_option $precio_actual $row_price_option['options_values_price']; 
            }else{
              
$price_option $precio_actual $row_price_option['options_values_price']; 
          }

        
$objResponse->assign("mensaje","innerHTML"$price_option);
        
$objResponse->assign("mensaje2","innerHTML"$price_option);
        
    return 
$objResponse;

El codigo fuente de la pagina en php.
Código PHP:
<select name="id[2]" id="id[2]" onchange="xajax_changePrecioProducto(this.value,937,108.433);"><option value="124">90 cm</option><option value="125">105 cm</option><option value="187">120 cm</option><option value="126">135 cm</option><option value="127">150 cm</option></select
Esta es la llamada a la funcion xajax:
Código PHP:
onchange="xajax_changePrecioProducto(this.value,'. (int)$HTTP_GET_VARS['products_id'] .','.$precio_total.'); 
El problema lo tengo en que no se como hacer que la variable $precio_total cambie su valor al cambiar de opcion.

Para mostrar el valor nuevo en la pagina.php he puesto esto:
Código PHP:
<div id="mensaje"><?php echo $precio_total;?></div>
Aqui sale en resultado de la operacion que hace la funcion xajax, pero ese resultado no se como ponerlo para que se tenga en cuenta al cambiar de opcion de nuevo, ya que siempre toma la variable $precio_total que se crea al cargar la pagina la primera vez.

Espero haberme explicado bien, si alguien puede ayudarme se lo agradezco de veras.

Etiquetas: html, select, variable, xajax
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 16:52.