Foros del Web » Programando para Internet » PHP »

ComboBox en PHP

Estas en el tema de ComboBox en PHP en el foro de PHP en Foros del Web. Hola estoy haciendo dos combos dependientes y me gustaria que el primer combo me aparezca en blanco o con el texto "seleccione actividad", asi el ...
  #1 (permalink)  
Antiguo 10/05/2011, 11:22
 
Fecha de Ingreso: enero-2010
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 0
ComboBox en PHP

Hola estoy haciendo dos combos dependientes y me gustaria que el primer combo me aparezca en blanco o con el texto "seleccione actividad", asi el usuario se ve obligado a seleccionar la opcion correspondiente. De este modo que lo tengo programado se ve la actividad pero no me aparece la subactividad si no navego un poco por el primer combo.

Espero puedan ayudarme.

Código PHP:
<script type="text/javascript">
var peticion = false;
var  testPasado = false;
try {
  peticion = new XMLHttpRequest();
  } catch (trymicrosoft) {
  try {
  peticion = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
  try {
  peticion = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (failed) {
  peticion = false;
  } 
  }
}
if (!peticion)
alert("ERROR AL INICIALIZAR!");


function cargarCombo (url, comboAnterior, element_id) { 
    //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;
    element.innerHTML = '<img src="Imagenes/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); 

</script>
<p><label for="actividad">Actividad:</label>
<select name="Actividades"  onchange="javascript:cargarCombo('Subactividades.php', 'Actividades', 'Div_Subactividades')" id="Actividades">

<?
$servidor 
'xxxx';
$usuario 'xxxx';
$contrasena 'xxxx';
$datos 'xxxx';
mysql_connect($servidor,$usuario,$contrasena);
@
mysql_select_db($datos) or die( "Unable to select database");
$query "SELECT * FROM t_actividades ORDER BY Actividad ASC";
$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,"Actividad");
?>
<option value=<? echo $Id?> selected>
<? echo $Actividad ?>
</option>
<?
$i
++;
}
?>
</select>
</p>
<p>
<div id="Div_Subactividades">
<label for="SubActividad">SubActividad:</label>
<select name="SubActividades"  id="SubActividades" class="select">
</select> 
</div>
</p>
  #2 (permalink)  
Antiguo 10/05/2011, 11:42
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 13 años
Puntos: 31
Respuesta: ComboBox en PHP

mira este ejemplo amigo [URL]http://www.formatoweb.com.ar/ajax/select_dependientes.php[/URL]
  #3 (permalink)  
Antiguo 10/05/2011, 11:43
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ComboBox en PHP

típico error de los principiantes en AJAX es solo evaluar peticion.readyState == 4 cuando deberían evaluar también peticion.status == 200
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 10/05/2011, 12:22
 
Fecha de Ingreso: enero-2010
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: ComboBox en PHP

Gracias JMSystem, me voy a fijar ese ejemplo.

Maycolalvarez que me recomiendas hacer, soy muy principiante en ajax. Donde me aconsejarias poner esa peticion.status == 200.

Tenes idea de como hacer para que aparezca el primer combo con la palabra seleccione?

Gracias. Saludos.
  #5 (permalink)  
Antiguo 10/05/2011, 12:30
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: ComboBox en PHP

yo te recomendaria usar xajax

http://www.xajax-project.org/en/docs...in-10-minutes/
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #6 (permalink)  
Antiguo 10/05/2011, 12:36
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: ComboBox en PHP

Mira checa ésto:
Código PHP:
Ver original
  1. $num=mysql_numrows($result);
Tienes mal escrita esa función, debe ser así:
Código PHP:
Ver original
  1. $num=mysql_num_rows($result);
Saludos.
  #7 (permalink)  
Antiguo 10/05/2011, 12:38
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años
Puntos: 236
Respuesta: ComboBox en PHP

Ya me di cuenta si existe de esa forma también, hehe.
Ah, y el peticion.status == 200 se coloca dentro del if dónde pónes peticion.readyState==4, es decir quedaría así:
Código Javascript:
Ver original
  1. if (peticion.readyState == 4 &&  peticion.status == 200)
Saludos

Última edición por angelfcm; 10/05/2011 a las 12:48
  #8 (permalink)  
Antiguo 11/05/2011, 09:48
 
Fecha de Ingreso: enero-2010
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: ComboBox en PHP

Gracias por la ayuda, corregi todos los errores, pero todavia no puedo hacer que me que una opción seleccione en el primer combo, sin que tenga que agregarla en la base de datos.

Gracias a todos.

Etiquetas: combobox
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 17:22.