Cita:
Iniciado por kekaes Pues la pagina combo1.php sería así:
Código PHP:
Ver original<?php
include("includes/config.inc.php");
include("includes/mysql.class.php");
$db->open();
$consulta = $db->consulta("SELECT * FROM ANNO WHERE id_tipo LIKE '$_POST[elegido]'"); //SELECT columna FROM tabla WHERE nombre de columna LIKE texto_a_buscar
echo '<option value="0">Elija año</option>';
if ($row = $db->fetch_array($consulta)) {
do {
echo
'<option value="'.$row['id_anno'].'">'.$row['anno'].'</option>';
}while($row = $db->fetch_array($consulta));
}
?>
La combo2.php
Código PHP:
Ver original<?php
include("includes/config.inc.php");
include("includes/mysql.class.php");
$db->open();
$consulta = $db->consulta("SELECT * FROM MES WHERE id_anno LIKE '$_POST[elegido2]'"); //SELECT columna FROM tabla WHERE nombre de columna LIKE texto_a_buscar
echo '<option value="0">Elija mes</option>';
if ($row = $db->fetch_array($consulta)) {
do {
echo
'<option value="'.$row['id_mes'].'">'.$row['mes'].'</option>';
}while($row = $db->fetch_array($consulta));
}
?>
Las tengo por serparado porque como soy muy novata en esto, lo veo más intuitivo y si hago pequeñas modificaciones, es más fácil saber donde he podido meter la pata.
He conseguido a través de .$_POST[combo1], saber el índice de la opción que se ha elegido pero no consigo que me de el nombre exacto de la elección.
A seguir investigando...
bueno, pues para ser novata vas bien
ahora, yo decía por ej tener una página genérica donde
dependiendo del combo que has enviado, haga una consulta distinta
y a su vez los campos a mostrar sean distintos
ej
Código PHP:
Ver original<?php
include("includes/config.inc.php");
include("includes/mysql.class.php");
$db->open();
//pregunto cual es el combo
{
$table = 'ANNO';
$field = 'id_tipo LIKE \'$_POST["elegido"]\''; //si da error de sintaxis, es por uso de comillas, no lo he probado, escribi al "vuelo" aquí en foros, revisaria concatenación y eso
$row0 = 'id_anno';
$row1 = 'anno';
}
{
$table = 'MES';
$field = 'id_anno LIKE \'$_POST["elegido2"]\'';
$row0 = 'id_mes';
$row1 = 'mes';
}
$consulta = $db->consulta("SELECT * FROM ".$table." WHERE ".$field);
echo '<option value="0">Elija mes</option>';
if ($row = $db->fetch_array($consulta)) {
do {
echo
'<option value="'.$row[$row0].'">'.$row[$row1].'</option>';
}while($row = $db->fetch_array($consulta));
}
?>
de este modo, si necesitas otros combos, pues agregas más else if
modificando los datos y de resto, debería funcionarte de una vez
en cuanto a lo que dices que ya recuperas el
value del select, pero no el
label,
tal vez jquery tenga alguna propiedad para recuperar dicho valor,
y si no es así, entonces haz lo siguiente
crea en el formulario un campo tipo hidden y llamalo "combo_label",
y luego por javascript o jquery, en el evento onChange del combo
en el que estas trabajando, le dices que combo_label.value sea igual
al texto del combo, algo así
Código Javascript
:
Ver originalcombo_label.value = elegido.options[elegido.selectedIndex].text;
y luego para pasar ese parámetro en la función jquery que ya
tienes, le pasas el valor de combo_label
prueba y comentas
saludos