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;
}
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>
Código PHP:
onchange="xajax_changePrecioProducto(this.value,'. (int)$HTTP_GET_VARS['products_id'] .','.$precio_total.');
Para mostrar el valor nuevo en la pagina.php he puesto esto:
Código PHP:
<div id="mensaje"><?php echo $precio_total;?></div>
Espero haberme explicado bien, si alguien puede ayudarme se lo agradezco de veras.