Ver Mensaje Individual
  #8 (permalink)  
Antiguo 15/09/2008, 10:47
Avatar de the_web_saint
the_web_saint
 
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problemas con combobox

lo hago con ajax, no se si deseas implementarlo
Código PHP:
function cargarCombo (url, comboAnterior, element_id, nombre) { 
    //Obtenemos el contenido del div
    //donde se cargaran los resultados
    var element =  document.getElementById(element_id);
    //Obtenemos el valor seleccionado del combo anterior
    var valordepende = document.getElementById(comboAnterior)
    var x = valordepende.value
    //construimos la url definitiva
    //pasando como parametro el valor seleccionado
    var fragment_url = url+'?Id='+x+"&name="+nombre;
    element.innerHTML = '<img src="http://www.forosdelweb.com/images/loading.gif" />'; 
    //abrimos la url
    peticion.open("GET", fragment_url); 
    peticion.onreadystatechange = function() { 
        if (peticion.readyState == 4) {
    //escribimos la respuesta
    element.innerHTML = peticion.responseText;
        } 
    } 
   peticion.send(null); 


y el html y php seria mas o menos
<td width="75%"><select name="pais"  onchange="javascript:cargarCombo('provincias.php', 'Actividades', 'Div_Subactividades', 'provincia')" id="Actividades">
<?

$query 
"SELECT * FROM paises";
$result=mysql_query($query);
$num=mysql_numrows($result);
//mysql_close();
$i=0;
while (
$i $num) {
         
$Id mysql_result($result,$i,"id");
         
$Actividad mysql_result($result,$i,"pais");
?>
<option value=<? echo $Id?> <? if((isset($idPais)) && $idPais==$Id) {
echo 
'selected="selected"';
?>>
<? echo $Actividad ?>
</option>
<?
$i
++;
}
?>
</select>
                </td>
              </tr>
            </table>
         </td>
            <td width="50%"><table width="100%" border="0" cellspacing="0" cellpadding="3" class="tblDiv">
              <tr>
                <td width="100%"><div id="Div_Subactividades">
                <label for="SubActividades">Provincia: * </label>
                    <select name="provincia"  id="SubActividades" class="select">
  <? if(isset($idProvincia)) {
/*
$servidor = 'mysql.dfcomunica.es';
$usuario = 'my0003';
$contrasena = 'pruebas';
$datos = 'my0003';
mysql_connect($servidor,$usuario,$contrasena);
@mysql_select_db($datos) or die( "Unable to select database");
*/
$query "SELECT * FROM estados WHERE relacion=$idPais";
$result=mysql_query($query);
$num=mysql_numrows($result);
//mysql_close();
$i=0;
$IdSubactividad 0;
$SubActividad '';
while (
$i $num) {
$IdSubactividad mysql_result($result,$i,"id");
$SubActividad mysql_result($result,$i,"estado");
?>
  <option value=<? echo $IdSubactividad; if($IdSubactividad==$idProvincia) {
echo 
' selected="selected"';
}
?>>
  <? echo htmlentities($SubActividad?>  </option>
  <?
$i
++;
}

?>
  </select> 
                  </div></td>
Prueba a ver si puedes implementarlo
El provincias.php tendria algo como esto(se llama en el onchange del select)

Código PHP:

<?php require_once('Connections/protecniaMySql.php'); ?>
<?
$IdActividad 
$_REQUEST['Id'];
$Nombre $_REQUEST['name'];
?>
<label for="SubActividad">Provincia:</label>
<select name="<?php echo $Nombre?>"  id="SubActividades" class="select">
<?
mysql_select_db
($database_protecniaMySql$protecniaMySql);
/*
$servidor = 'localhost:8889';
$usuario = 'root';
$contrasena = 'root';
$datos = 'my0004';
mysql_connect($servidor,$usuario,$contrasena);
@mysql_select_db($datos) or die( "Unable to select database");
*/
$query "SELECT * FROM estados WHERE relacion=$IdActividad";
$result=mysql_query($query);
$num=mysql_numrows($result);
//mysql_close();
$i=0;
while (
$i $num) {
$IdSubactividad mysql_result($result,$i,"id");
$SubActividad mysql_result($result,$i,"estado");
?>
<option value=<? echo $IdSubactividad?>>
<? echo htmlentities($SubActividad?>
</option>
<?
$i
++;
}
?>
</select>
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.