Foros del Web » Programando para Internet » PHP »

ondropdown combobox

Estas en el tema de ondropdown combobox en el foro de PHP en Foros del Web. Hola acudo nuevamente a ustedes, estuve buscando en google pero pues no se me ocurre como, bueno lo que quiero es que al presionar la ...
  #1 (permalink)  
Antiguo 26/09/2012, 19:50
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
ondropdown combobox

Hola acudo nuevamente a ustedes, estuve buscando en google pero pues no se me ocurre como, bueno lo que quiero es que al presionar la flechita del combobox se actualize el formulario y aparezca otra informacion en el combobx.

estuve buscando con ondropdown, ya que el onchange creo que no me funciona o mas bien no se como programarlo. trate con onclick pero noc bien como
  #2 (permalink)  
Antiguo 26/09/2012, 19:58
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: ondropdown combobox

Que quiere decir y "aparezca otra informacion en el combobx."?
Si lo que queres es un combo con 5 opciones y que cuando hagas click en él aparezcan 5 opciones diferentes podrías usar ajax para hacer la llamada al servidor y que te cargue otros elementos desde una bd o donde fuera.
  #3 (permalink)  
Antiguo 26/09/2012, 20:59
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 10 meses
Puntos: 81
Respuesta: ondropdown combobox

No encuentras y no sabes porque quieres hacer con PHP lo que debes hacer con JavaScript. Lo que necesitas es aprender Ajax.
  #4 (permalink)  
Antiguo 26/09/2012, 21:16
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

mira muestro un combo con una opcion que se muestra por una sentencia sql, quiero que al darle click a la flecha de la para del combobox muestre todos los datos que tiene la tabla y no solo es q presentaba antes. supongo que con otra sentencia sql
  #5 (permalink)  
Antiguo 26/09/2012, 21:18
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

bueno no sabia que era ajax, de eso no se nada, lo propuse como solucion xq vi que daban esa solucion porque con onclick no le funcionaba. pero si conocen un tutorial o algo parecido para guiarme se los agradezco
  #6 (permalink)  
Antiguo 26/09/2012, 21:20
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 10 meses
Puntos: 81
Respuesta: ondropdown combobox

Bueno, debes usar un poco de JavaScript y Ajax, en primer lugar recién entiendo lo que quieres hacer, no quieres que se ejecute una acción cuando selecciones un item de la lista desplegable (no es un combobox porque no estamos trabajando con VB), sino cuando abres la lista. La verdad olvídalo, no se puede, y sabes por qué? porque cuando recargues la lista desplegable automáticamente se cerrará la lista. Sin embargo puedes simular una lista desplegable usando una caja de texto, una imagen, una capa y algo de JavaScript y CSS. Pero no estoy seguro si tienes el conocimiento para hacerlo.
  #7 (permalink)  
Antiguo 26/09/2012, 22:00
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

pues no tengo mucha experiencia.
quiero hacer eso asi para resolver este problema:
yo muestro
nombre del nucleo al q pertnece un programa y todos los datos de programa: nombre, sigla, etc.

luego lo mando a otro formulario para editar esos datos, todo esta bien pero a la hora de mostrar la list para cambiar el nucleo al que pertenece ese programa no sale seleccionado al que pertenece sino que sale el ultimo registro de la lista.

puedo mostrarles lo que tengo si gustan,

espero me halla explicado bien
  #8 (permalink)  
Antiguo 26/09/2012, 22:08
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 10 meses
Puntos: 81
Respuesta: ondropdown combobox

Sí, muestralo, talvez haya una manera más simple de resolverlo.
  #9 (permalink)  
Antiguo 26/09/2012, 22:15
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

esta es la consulta
if(isset($_POST['consigla']) && isset($_POST['connombre'])){

Código PHP:
<?php
$guardasigla 
$_POST['consigla'];
$guardanombre $_POST['connombre'];


mysql_select_db($database_conexion$conexion);
@
mysql_query("SET NAMES 'utf8'");
$query_Recordset1 "SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa,  nucleos.nombre_nucleo FROM programas, nucleos WHERE programas.sigla_programa LIKE '%$guardasigla%' AND programas.nombre_programa LIKE '%$guardanombre%' AND programas.id_nucleo = nucleos.id_nucleo";

$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$conexion) or die(mysql_error());
}
?>
y este el formulario donde busca y muestra el programa con sus datos y el nucleo al que pertenece

Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
    <table align="center">
      <tr valign="baseline">
      
        <td nowrap="nowrap" align="right">Sigla:</td>
        <td> <input name="consigla" type="text" id="consigla" value="" size="20" /></td>
          
        <td nowrap="nowrap" align="right">Nombre:</td>
        <td><input name="connombre" type="text" id="connombre" value="" size="20" /></td>
             
                
        <td><input type= "submit" value="Buscar" ></td>
             
              
              
        </tr>
      </table>
      
        
    <?php
	
    $numfilas = mysql_num_rows($Recordset2); 
	
	echo '<table cellpadding="0" cellspacing="0" width="50%" >';
	echo '<thead><tr><td>No.</td><td>NUCLEO</td><td>SIGLA</td><td>NOMBRE</td><td>DURACION</td></tr></thead>';
    echo "</table>";
	
	 	
	 
	?>		
    
    <div id="adentro2">
      
      <?php
  
  	
 
    echo '<table cellpadding="0" cellspacing="0" width="50%">';
	for ($i=0; $i<$numfilas; $i++)
	{
	 	$fila = mysql_fetch_array($Recordset1);
		$numlista = $i + 1;
		
		echo '<tr><td>'.$numlista.'</td>';
		echo '<td>'.$fila['nombre_nucleo'].'</td>';
		echo '<td>'.$fila['sigla_programa'].'</td>';
		echo '<td>'.$fila['nombre_programa'].'</td>';
		echo '<td>'.$fila['duracion_programa'].'</td>';
		
        
		echo '<td><a href="modificarprogramas.php?id='.$fila['id_programa'].'">Ver</a></td></tr>';
	} 
	echo "</table>";
	
	
  
?> 
  #10 (permalink)  
Antiguo 26/09/2012, 22:15
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: ondropdown combobox

Si lo que queres es que en plena ejecucion de la pagina al momento en que apretas sobre el combo se muestren datos de una tabla, sin recargar la pagina, entonces no tenes otra que usar ajax, http://ajaxya.com.ar/
http://librosweb.es/
  #11 (permalink)  
Antiguo 26/09/2012, 22:19
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

y esta la consulta que lo recibe para editarlo (se que la consulta al decir que los id sean iguales solo ese id del nucleo me va a mostrar pero sino pongo esa condicion me salen todos los nucleos seleccionando el ultimo de la lista )

Código PHP:
<?php
$editFormAction 
$_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  
$updateSQL sprintf("UPDATE programas SET id_nucleo=%s, sigla_programa=%s, nombre_programa=%s, duracion_programa=%s WHERE id_programa=%s",
                       
GetSQLValueString($_POST['id_nucleo'], "int"),
                       
GetSQLValueString($_POST['sigla_programa'], "text"),
                       
GetSQLValueString($_POST['nombre_programa'], "text"),
                       
GetSQLValueString($_POST['duracion_programa'], "int"),
                       
GetSQLValueString($_POST['id_programa'], "int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());
   
$updateGoTo "programasmodificar.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
    
$updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$updateGoTo));
}


mysql_select_db($database_conexion$conexion);

$id$_GET['id'];
$query_Recordset1 "SELECT programas.id_programa, programas.id_nucleo, programas.sigla_programa, programas.nombre_programa, programas.duracion_programa, nucleos.nombre_nucleo FROM programas,nucleos WHERE programas.id_programa = '$id' AND programas.id_nucleo= nucleos.id_nucleo";
$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$Recordset2 mysql_query($query_Recordset1$conexion) or die(mysql_error());

$row_Recordset1 mysql_fetch_assoc($Recordset2)?>
y aca el formulario que lo recibe

Código HTML:
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
    <table align="center">
     
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nucleo:</td>
        <td><label for="nucleo"></label>
           <select name="grado" id="grado">
                <option value="" selected="selected"></option>
                <?php
while($fila=mysql_fetch_array($Recordset1)){
echo "<option value='".$fila["id_nucleo"]."'>".$fila["nombre_nucleo"]."</option>";
                                            }
?>
              </select></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Sigla del Programa:</td>
        <td><input type="text" name="sigla_programa" value="<?php echo htmlentities($row_Recordset1['sigla_programa'], ENT_COMPAT, 'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Nombre del Programa:</td>
        <td><input type="text" name="nombre_programa" value="<?php echo htmlentities($row_Recordset1['nombre_programa'], ENT_COMPAT, 'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="lefth">Duracion del Programa:</td>
        <td><input type="text" name="duracion_programa" value="<?php echo htmlentities($row_Recordset1['duracion_programa'], ENT_COMPAT, 'utf-8'); ?>" size="32" /></td>
      </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="right">&nbsp;</td>
        <td><input type="submit" value="Actualizar" /></td>
      </tr>
    </table>
    <input type="hidden" name="MM_update" value="form1" />
    <input type="hidden" name="id_programa" value="<?php echo $row_Recordset1['id_programa']; ?>" />
  </form> 
lo que quiero es q la persona que quiera actualizar los datos sepa a que nucleo pertenece y a la vez tenga la posibilidad de cambiarlo por los otros nucleos.
  #12 (permalink)  
Antiguo 26/09/2012, 22:22
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

gracias rodrigo791 lastimosamente no tengo nada de conocimiento de ajax, sino encuentro otra solucion para el dilema me tocara aprender aunque dure mas
  #13 (permalink)  
Antiguo 26/09/2012, 22:27
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: ondropdown combobox

Es que no la hay, no existe forma de hacer una consulta a una base de datos y mostrar el resultado en la pagina sin recargarla, a menos que uses el objeto XMLHttpRequest para poder utilizar las técnicas de ajax y poder hacerlo.
En esto de la web, así como tenes que saber sobre html css js php y sql, tambien te toca ajax y mas en estos tiempos donde se usa mucho.
También veras que tiene sus ventajas, no es solo usarlo porque si, no es lo mismo tener que recargar toda la pagina solo para mostrar datos en un combo, que solo modificar el contenido del combo sin tocar los demas elementos, también fijate que hay una gran diferencia de velocidad de respuesta desde y hacia el servidor.
  #14 (permalink)  
Antiguo 26/09/2012, 22:35
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

gracias de verdad, yoc q es necesario saber de todo pero pues no si viste pero puse el problema q tengo que talvez se ´pueda solucionar sin ajax solo di esa opcion porque no se me ocurre otra. El tiempo que tengo es bastante lmitado, por eso digo que sino puedo de otra manera resolver el problema aprendere ajax para ahorita sino claro q mas adelante
  #15 (permalink)  
Antiguo 26/09/2012, 22:43
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: ondropdown combobox

Sinceramente ni vi el código, ya que si no entendí mal lo que queres hacer es que cuando apretes en el combo se cargen los datos de la tabla, y si es en verdad lo que queres hacer anda metiendole a ajax, metele 2 dias y lo sacas, se trata de crear una función con el objeto XMLHttpRequest primero que nada, y que a traves de este envíes una petición al script que busca en la tabla, este script te devuelve el resultado y lo mostras en el combo, hablando por arriba seria algo asi.
  #16 (permalink)  
Antiguo 26/09/2012, 22:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: ondropdown combobox

Ya te lo dijeron Artificium y rodrigo791: NO se puede sin AJAX, qué sentido tiene seguir dando vueltas a lo mismo?

Por cierto, no existe un evento "ondropdown", te recomiendo leer esto: http://www.w3schools.com/tags/tag_select.asp
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 26/09/2012, 23:02
 
Fecha de Ingreso: septiembre-2012
Mensajes: 103
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ondropdown combobox

Les repito esa opcion la di porque queria usar un evento parecido, pero ya explique que es lo que quiero el hecho de hacer eso con el list no es lo que quiero hacer era solo una solucion que pense para mi problema ya planteado con codigo, gracias a los dos...
Si leyeran lo que escribi sabrian el porque de mis respuestas, ya se que solo con ajax puedo hacer lo que propuse, ese codigo lo puse porque talvez exista una solucion a mi problema el cual no es lo del list con ajax!!

Etiquetas: formulario
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 22:03.