tengo el siguiente problema con un Select Anidado que estoy intentando aplicar a una web.
Tengo el siguiente archivo php en el cual llamo a unos selects definidos. Todo funciona de maravilla en la web que tengo colgada aqui Al seleccionar una opción va a la siguiente dependiendo de la selección previa. el problema es que no se como hacer que en el ultimo de los 4 resultados me lleve a una respuesta especifica. Por ejemplo, cada respuesta deberia darme un valor (36 posibles combinaciones), si las respuestas corresponden a las opciones: 1+1+1+1 me de un valor A, si es 1+1+1+2 me de un valor B si es 1+1+2+1 me de A y asi sucesivamente, hay tres respuestas: Perfil Suave, Perfil Medio y Perfil Curvo o resumido A,B y C. Aqui va el PHP:
Código PHP :
<?php class SelectBox{ public $items = array(); public $defaultText = ''; public $title = ''; public function __construct($title, $default){ $this->defaultText = $default; $this->title = $title; } public function addItem($name, $connection = NULL){ $this->items[$name] = $connection; return $this; } public function toJSON(){ return json_encode($this); } } // Product selectbox $TiposSelect = new SelectBox('Cómo es tu silueta?','Escoge una opción'); $TiposSelect->addItem('Soy bastante recta','RectasSelect') ->addItem('Tengo curvas ligeras','LigerasSelect') ->addItem('Tengo curvas','CurvasSelect'); // Rectas $RectasSelect = new SelectBox('Describe tu trasero', 'Escoge una opción'); $RectasSelect->addItem('Plano','RectasPlanasSelect') ->addItem('Mediano','RectasMedianasSelect') ->addItem('Redondo','RectasRedondasSelect'); // RectasPlanas $RectasPlanasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $RectasPlanasSelect->addItem('Si','RectasSiPlanasSelect') ->addItem('No','RectasNoPlanasSelect'); // RectasMedianas $RectasMedianasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $RectasMedianasSelect->addItem('Si','RectasSiMedianasSelect') ->addItem('No','RectasNoMedianasSelect'); // RectasRedondas $RectasRedondasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $RectasRedondasSelect->addItem('Si','RectasSiRedondasSelect') ->addItem('No','RectasNoRedondasSelect'); // RectasPlanasSI $RectasSiPlanasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $RectasSiPlanasSelect->addItem('Si','RectasSiPlanasSiSelect') ->addItem('No','RectasSiPlanasNoSelect'); // RectasMedianasSI $RectasSiMedianasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $RectasSiMedianasSelect->addItem('Si','RectasSiMedianasSiSelect') ->addItem('No','RectasSiMedianasNoSelect'); // RectasRedondasSI $RectasSiRedondasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $RectasSiRedondasSelect->addItem('Si','RectasSiRedondasSiSelect') ->addItem('No','RectasSiRedondasNoSelect'); // RectasPlanasNO $RectasNoPlanasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $RectasNoPlanasSelect->addItem('Si','RectasSiPlanasSiSelect') ->addItem('No','RectasSiPlanasNoSelect'); // RectasMedianasNO $RectasNoMedianasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $RectasNoMedianasSelect->addItem('Si','RectasSiMedianasSiSelect') ->addItem('No','RectasSiMedianasNoSelect'); // RectasRedondasNO $RectasNoRedondasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $RectasNoRedondasSelect->addItem('Si','RectasSiRedondasSiSelect') ->addItem('No','RectasSiRedondasNoSelect'); //-----RECTA END------// // Ligeras $LigerasSelect = new SelectBox('Describe tu trasero', 'Escoge una opción'); $LigerasSelect->addItem('Plano','LigerasPlanasSelect') ->addItem('Mediano','LigerasMedianasSelect') ->addItem('Redondo','LigerasRedontasSelect'); // LigerasPlanas $LigerasPlanasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $LigerasPlanasSelect->addItem('Si','LigerasSiPlanasSelect') ->addItem('No','LigerasNoPlanasSelect'); // LigerasMedianas $LigerasMedianasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $LigerasMedianasSelect->addItem('Si','LigerasSiMedianasSelect') ->addItem('No','LigerasNoMedianasSelect'); // LigerasRedondas $LigerasRedondasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $LigerasRedondasSelect->addItem('Si','LigerasSiRedondasSelect') ->addItem('No','LigerasNoRedondasSelect'); // LigerasPlanasSI $LigerasSiPlanasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $LigerasSiPlanasSelect->addItem('Si','LigerasSiPlanasSiSelect') ->addItem('No','LigerasSiPlanasNoSelect'); // LigerasMedianasSI $LigerasSiMedianasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $LigerasSiMedianasSelect->addItem('Si','LigerasSiMedianasSiSelect') ->addItem('No','LigerasSiMedianasNoSelect'); // LigerasRedondasSI $LigerasSiRedondasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $LigerasSiRedondasSelect->addItem('Si','LigerasSiRedondasSiSelect') ->addItem('No','LigerasSiRedondasNoSelect'); // LigerasPlanasNO $LigerasNoPlanasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $LigerasNoPlanasSelect->addItem('Si','LigerasSiPlanasSiSelect') ->addItem('No','LigerasSiPlanasNoSelect'); // LigerasMedianasNO $LigerasNoMedianasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $LigerasNoMedianasSelect->addItem('Si','LigerasSiMedianasSiSelect') ->addItem('No','LigerasSiMedianasNoSelect'); // LigerasRedondasNO $LigerasNoRedondasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $LigerasNoRedondasSelect->addItem('Si','LigerasSiRedondasSiSelect') ->addItem('No','LigerasSiRedondasNoSelect'); //-----LIGERA END------// // Curvas $CurvasSelect = new SelectBox('Describe tu trasero', 'Escoge una opción'); $CurvasSelect->addItem('Plano','CurvasPlanasSelect') ->addItem('Mediano','CurvasMedianasSelect') ->addItem('Redondo','CurvasRedontasSelect'); // CurvasPlanas $CurvasPlanasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $CurvasPlanasSelect->addItem('Si','CurvasSiPlanasSelect') ->addItem('No','CurvasNoPlanasSelect'); // CurvasMedianas $CurvasMedianasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $CurvasMedianasSelect->addItem('Si','CurvasSiMedianasSelect') ->addItem('No','CurvasNoMedianasSelect'); // CurvasRedondas $CurvasRedondasSelect = new SelectBox('Los jeans te aprietan en la cintura?','Escoge una opción'); $CurvasRedondasSelect->addItem('Si','CurvasSiRedondasSelect') ->addItem('No','CurvasNoRedondasSelect'); // CurvasPlanasSI $CurvasSiPlanasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $CurvasSiPlanasSelect->addItem('Si','CurvasSiPlanasSiSelect') ->addItem('No','CurvasSiPlanasNoSelect'); // CurvasMedianasSI $CurvasSiMedianasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $CurvasSiMedianasSelect->addItem('Si','CurvasSiMedianasSiSelect') ->addItem('No','CurvasSiMedianasNoSelect'); // CurvasRedondasSI $CurvasSiRedondasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $CurvasSiRedondasSelect->addItem('Si','CurvasSiRedondasSiSelect') ->addItem('No','CurvasSiRedondasNoSelect'); // CurvasPlanasNO $CurvasNoPlanasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $CurvasNoPlanasSelect->addItem('Si','CurvasSiPlanasSiSelect') ->addItem('No','CurvasSiPlanasNoSelect'); // CurvasMedianasNO $CurvasNoMedianasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $CurvasNoMedianasSelect->addItem('Si','CurvasSiMedianasSiSelect') ->addItem('No','CurvasSiMedianasNoSelect'); // CurvasRedondasNO $CurvasNoRedondasSelect = new SelectBox('Los jeans te boquean en la parte trasera?','Escoge una opción'); $CurvasNoRedondasSelect->addItem('Si','CurvasSiRedondasSiSelect') ->addItem('No','CurvasSiRedondasNoSelect'); //-----Curva END------// // SELECT ITEMS // $selects = array( 'TiposSelect' => $TiposSelect, 'RectasSelect' => $RectasSelect, 'RectasPlanasSelect' => $RectasPlanasSelect, 'RectasMedianasSelect' => $RectasMedianasSelect, 'RectasRedondasSelect' => $RectasRedondasSelect, 'RectasSiPlanasSelect' => $RectasSiPlanasSelect, 'RectasSiMedianasSelect' => $RectasSiMedianasSelect, 'RectasSiRedondasSelect' => $RectasSiRedondasSelect, 'RectasNoPlanasSelect' => $RectasNoPlanasSelect, 'RectasNoMedianasSelect' => $RectasNoMedianasSelect, 'RectasNoRedondasSelect' => $RectasNoRedondasSelect, 'RectasSiPlanasSiSelect' => $RectasSiPlanasSiSelect, 'RectasSiMedianasSiSelect' => $RectasSiMedianasSiSelect, 'RectasSiRedondasSiSelect' => $RectasSiRedondasSiSelect, 'RectasSiPlanasNoSelect' => $RectasSiPlanasNoSelect, 'RectasSiMedianasNoSelect' => $RectasSiMedianasNoSelect, 'RectasSiRedondasNoSelect' => $RectasSiRedondasNoSelect, 'LigerasSelect' => $LigerasSelect, 'LigerasPlanasSelect' => $LigerasPlanasSelect, 'LigerasMedianasSelect' => $LigerasMedianasSelect, 'LigerasRedondasSelect' => $LigerasRedondasSelect, 'LigerasSiPlanasSelect' => $LigerasSiPlanasSelect, 'LigerasSiMedianasSelect' => $LigerasSiMedianasSelect, 'LigerasSiRedondasSelect' => $LigerasSiRedondasSelect, 'LigerasNoPlanasSelect' => $LigerasNoPlanasSelect, 'LigerasNoMedianasSelect' => $LigerasNoMedianasSelect, 'LigerasNoRedondasSelect' => $LigerasNoRedondasSelect, 'LigerasSiPlanasSiSelect' => $LigerasSiPlanasSiSelect, 'LigerasSiMedianasSiSelect' => $LigerasSiMedianasSiSelect, 'LigerasSiRedondasSiSelect' => $LigerasSiRedondasSiSelect, 'LigerasSiPlanasNoSelect' => $LigerasSiPlanasNoSelect, 'LigerasSiMedianasNoSelect' => $LigerasSiMedianasNoSelect, 'LigerasSiRedondasNoSelect' => $LigerasSiRedondasNoSelect, 'CurvasSelect' => $CurvasSelect, 'CurvasPlanasSelect' => $CurvasPlanasSelect, 'CurvasMedianasSelect' => $CurvasMedianasSelect, 'CurvasRedondasSelect' => $CurvasRedondasSelect, 'CurvasSiPlanasSelect' => $CurvasSiPlanasSelect, 'CurvasSiMedianasSelect' => $CurvasSiMedianasSelect, 'CurvasSiRedondasSelect' => $CurvasSiRedondasSelect, 'CurvasNoPlanasSelect' => $CurvasNoPlanasSelect, 'CurvasNoMedianasSelect' => $CurvasNoMedianasSelect, 'CurvasNoRedondasSelect' => $CurvasNoRedondasSelect, 'CurvasSiPlanasSiSelect' => $CurvasSiPlanasSiSelect, 'CurvasSiMedianasSiSelect' => $CurvasSiMedianasSiSelect, 'CurvasSiRedondasSiSelect' => $CurvasSiRedondasSiSelect, 'CurvasSiPlanasNoSelect' => $CurvasSiPlanasNoSelect, 'CurvasSiMedianasNoSelect' => $CurvasSiMedianasNoSelect, 'CurvasSiRedondasNoSelect' => $CurvasSiRedondasNoSelect, ); if(array_key_exists($_GET['key'],$selects)){ header('Content-type: application/json'); echo $selects[$_GET['key']]->toJSON(); } else{ header("HTTP/1.0 404 Not Found"); header('Status: 404 Not Found'); } ?>
He intentado ponerle en las últimas lineas esto:
Código PHP :
if ($RectasSelect == '' OR $RectasPlanasSelect == '' OR $RectasSiPlanasSelect == '' OR $RectasSiPlanasSiSelect == ''){ header("Location: ResultadoA.html"); echo 'Tuperfil se esta cargando...'; }
Pero no me funciona, ni siquiera aparecen los SelectBox. y aunque apareciecen, tendria que poner 36 combicacione distintas para que aparezcan. Lo cual no seria problema, pero funcionaria poniendo tantos?
Por favor ayudenme con esto, espero haberme explicado bien, un abrazo fuerte a todos!