Foros del Web » Programando para Internet » PHP »

Me echáis una manita?

Estas en el tema de Me echáis una manita? en el foro de PHP en Foros del Web. Buenas a todos, Tengo un problema con este código, os comento lo que quiero hacer... tengo que poner en un select una serie de datos ...
  #1 (permalink)  
Antiguo 10/02/2008, 09:36
 
Fecha de Ingreso: octubre-2006
Mensajes: 128
Antigüedad: 17 años, 6 meses
Puntos: 1
Pregunta Me echáis una manita?

Buenas a todos,

Tengo un problema con este código, os comento lo que quiero hacer... tengo que poner en un select una serie de datos recogidos de una consulta a la BD, para saber los datos que tengo, necesito mandar el código de componente a una pantalla de alta, pero tengo un problema de la forma que lo estoy planteando no soy capaz de recoger ese dato si no lo muestro por pantalla....¿sabéis como lo puedo arreglar?

Código:
function damedatos(){
var variable = document.getElementById('componente');

	 valor = variable.options[variable.selectedIndex].text;
	 elemento = valor.substring(0,1);
	document.getElementById('campoAlta').value=elemento;
	alert(elemento);
	
			
	
	
}
Código PHP:
<form name="formulario2" method="post" action="anadir_kit.php">
    <?php  
            $link
=mysql_connect("localhost","root",""); 
            
mysql_select_db("laboratorio",$link); 
            
$consultamysql_query("SELECT Codigo_componente,componente, Desc1, Desc2, Comentario from componentes ORDER BY componente"); 

        
?>
<select name="componente" id="componente" onchange="damedatos($variable);">

            <option>Seleccionar </option>
                        
            <?php 
            $blanco
=" ";
            while (
$fila mysql_fetch_assoc($consulta)) {
    
$variable $fila["Codigo_componente"].$blanco.$fila["componente"].$blanco.$fila["Desc1"].$blanco.$fila["Desc2"].$blanco.$fila["Comentario"];
    
$mostrar $fila["componente"].$blanco.$fila["Desc1"].$blanco.$fila["Desc2"].$blanco.$fila["Comentario"];
?>    <option> <?php echo $mostrar?></option>
                    <?php }?>
                                <input type="hidden" name="campoAlta" value='<?php $fila["Codigo_componente"]?>'> 

                    
          </select>
Si hago eso, en la llamada la función se produce un error xq no encuentra la variable $variable, y no sé como ponerlo, además en la función dame_datos cómo puedo hacer para que me coja más de un valor?

Muhcas gracias
  #2 (permalink)  
Antiguo 10/02/2008, 16:46
Avatar de allhen  
Fecha de Ingreso: septiembre-2005
Mensajes: 243
Antigüedad: 18 años, 7 meses
Puntos: 1
Re: Me echáis una manita?

onchange="damedatos(this.value);"

esto manda el valor del select al escogerlo
__________________
En esta vida todo es posible ... excepto vencer a la muerte .
  #3 (permalink)  
Antiguo 11/02/2008, 03:54
 
Fecha de Ingreso: octubre-2006
Mensajes: 128
Antigüedad: 17 años, 6 meses
Puntos: 1
Pregunta Re: Me echáis una manita?

Buenas!!!

Ante todo, mil gracias por contestarme.... la duda que tengo es que no sé muy bien cómo hacer una cosa.... ayer os pasé el código pero estuve dándole vueltas y no sé si se podrá hacer así.... Os comento lo que quiero hacer por si se os ocurre una idea más fácil.

Tengo una base de datos donde tengo una serie de materiales, por ejemplo:

Código material descripcion unidades

1 resistencias 50
2 condensador 20

Entonces la idea es, tener un select que me haga un listado con todos los componentes que tengo en la base de datos, es decir, en este caso tendré dos opciones, resistencias y condensador y que cuando seleccione uno de ellos.... me mande automáticamente el código de material asociado a esa elección, por ejemplo, si elijo resistencias, al seleccionarlo que me guarde en una variable el valor uno, para después poder tratarlo.....

Tenéis alguna idea de cómo puedo hacerlo?

Muhcas gracias
  #4 (permalink)  
Antiguo 11/02/2008, 08:53
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Me echáis una manita?

Un idea podria hacer la siguiente, en tu diseño agregas un control texto y en el capturarias el codigo del producto que seleccionas del select

Código HTML:
<input type="text" name="codcomponente" id="codcomponente" /> 
y el select lo puedes hacer de esta forma: en el evento onchange del select se visualizaria en el text el valor del elemento seleccionado o el index.

Código PHP:
<td><select name="componentes" id="componentes" onchange="document.getElementById('codcomponente).value=this.options[this.selectedIndex].value" >
<?php
                      
//OBTENER LOS VALORES DE LAS FILAS
$sql "SELECT codigo_componente, componente FROM componentes ORDER BY codigo_componente ASC";
$resul mysql_query($sql$link) or die ( mysql_error() );
$opt '<option value = "%s">%s</option>';
            
//RECORRIDO DEL CURSOR
while($row mysql_fetch_array($resul))

   echo 
sprintf($opt$row[0], $row[1]);
}
          
?>
 </select></td>
De esta forma listarias en el select el codigo y la descripción del componente al seleccionar uno de ellos en el text se visualizaria el codigo del mismo con el que podrias trabajar, esta es una de las formas como lo podrias hacer espero haber entendido tus dudas y haberte podido ayudar.

Saludos.
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 10:26.