Foros del Web » Programando para Internet » PHP »

coger valor de lista

Estas en el tema de coger valor de lista en el foro de PHP en Foros del Web. Hola! Quiero saber como puedo mandar el valor de la lista por una referencia. Os pongo el codigo que es sencillito Código PHP: < form name ...
  #1 (permalink)  
Antiguo 28/12/2006, 06:16
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
coger valor de lista

Hola!
Quiero saber como puedo mandar el valor de la lista por una referencia. Os pongo el codigo que es sencillito
Código PHP:
<form name="form1" method="post" action="">
<
select name="curso">
<
option>SI</option>
<
option>NO</option>
</
select>
<
a href="mete_producto.php">Introduce opcion</a>
</
form
Sin mas
  #2 (permalink)  
Antiguo 28/12/2006, 06:18
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: coger valor de lista

¿Y por qué no haces un simple botón de submit?
  #3 (permalink)  
Antiguo 29/12/2006, 02:30
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

porque tengo una encuesta debajo de esta lista y el boton de submit es para validar todo el formulario
  #4 (permalink)  
Antiguo 29/12/2006, 03:43
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

hola,
q es lo q quieres hacer concretamente? es decir, cual es la finalidad dese codigo?

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 29/12/2006, 04:29
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Solo quiero saber como paso el valor de la variable por la referencia a mete_producto.php
Pero no funciona cuando elijo una opcion y le mando por la referencia asi:
mete_producto.php?curso=$_POST[curso] ni cuando hago
mete_producto.php?curso=$curso
Y en la pagina que lo recibe es decir en mete_producto.php hago un
$curso=$_GET[curso]
Asi no funciona porque me muestra exactamente o "$_POST[curso]" o "$curso"
  #6 (permalink)  
Antiguo 29/12/2006, 04:55
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

Hoal de nuevo!
me gustario ver tu codigo para saber donde y cierras las llaves de PHP.

si no tienes de abiertas lo q tienes q hacer es lo siguiente:

mete_producto.php?curso=<?=$curso?>

Asegurate de q $curso tenga un valor!

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #7 (permalink)  
Antiguo 29/12/2006, 05:04
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Te pongo el codigo completo:
Son dos combos relacionados falta codigo pero seria la encuesta que falta por debajo asi que no te lo pongo
Código PHP:
<?
include("lib_carrito.php");
?>

<html>
<head>
    <title>Trabajando con el carrito</title>
</head>

<body>
<form name="form1" method="post" action="">
<? 
// Me conecto a la base de datos 
$link mysql_connect("localhost","","");
mysql_select_db("",$link);
// Declaro la variable $paisant que es la que me va a indicar si hay que volver a cargar los datos de los cursos 
$catant=$categoria
//Ponemos un campo oculto con el valor de catant y abrimos el select
print ("<input type=\"hidden\" name=\"catant\" value=\"$catant\"> <tr> 
       <td><div align=\"left\"><strong><font size=\"2\" face=\"Arial, Helvetica, sans-serif\">Categoria:</strong></div></td> 
       <td><select name=\"categoria\" onchange=\"submit();\"> 
       "
); 
//Muestra el combobox de los cursos una vez que se haya elegido la categoria, no antes 
if (!isset($categoria)){ 
    print (
"<option selected>Seleccione la categoria</option>"); 
    
$categoria="0"

//Hacemos la consulta sobre las categorias
$sql="select * from CATEGORIAS order by ID"
$res=mysql_query($sql); 
//Mostramos las categorias
while($fila=mysql_fetch_array($res)){ 
print(
"<option value=\"$fila[ID]\""); 
if (
$fila[ID] == $categoria) { 
print (
" selected"); 

print(
">$fila[NOMBRE]</option>\n"); 

print(
"</select></td></tr>"); 

//Abrimos el select de cursos
print(
<tr> 
    <td><div align=\"left\"><strong><font size=\"2\" face=\"Arial, Helvetica, sans-serif\">Curso:</strong></div></td> 
<td><select name=\"curso\"> 
"
); 
print (
"<option selected>Seleccione el curso</option>"); 
 
//Hacemos consulta de cusos de dicha categoria
$sqlcurso="select * from CURSOS where ID='$categoria'";
$rescurso=mysql_query($sqlcurso); 
//Mostramos los cursos de dicha categoria
while($filacurso=mysql_fetch_array($rescurso)){ 
print(
"<option value=\"$filacurso[Titulo]\">$filacurso[Titulo]</option>"); 

print(
"</select> </td> </tr>"); 
?> 
- <a href="mete_producto.php?curso=<?=$curso?>">Introduce curso</a>
- <a href="ver_carrito.php">Ver carrito</a></form>
</body>
</html>
  #8 (permalink)  
Antiguo 29/12/2006, 05:07
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Si lo pongo asi como me has dicho tu cuando muestro la variable curso en la pagina mete_producto.php no me aparece el curso que he seleccionado sino que me aparece: "Seleccione el curso"
  #9 (permalink)  
Antiguo 29/12/2006, 05:19
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

Hola! pues lo q yo te puesto es correcto, assegurate de q asignas un valor a la variable curso.

es decir:

Código PHP:
print("</select></td></tr>");  

//Abrimos el select de cursos 
print("  
<tr>  
    <td><div align=\"left\"><strong><font size=\"2\" face=\"Arial, Helvetica, sans-serif\">Curso:</strong></div></td>  
<td><select name=\"curso\">  
"
);  
print (
"<option selected>Seleccione el curso</option>");  
  
//Hacemos consulta de cusos de dicha categoria 
$sqlcurso="select * from CURSOS where ID='$categoria'"
$rescurso=mysql_query($sqlcurso);  
//Mostramos los cursos de dicha categoria 
while($filacurso=mysql_fetch_array($rescurso)){  
print(
"<option value=\"$filacurso[Titulo]\">$filacurso[Titulo]</option>");  
}  
print(
"</select> </td> </tr>");  
?> 
lo q esta mostrando es el valor q tienes por defecto. por lo tanto la variable ya te pasa bien! ponle un valor a esa linia. VALUE=0 x ejemplo
print ("<option value=\"0\" selected>Seleccione el curso</option>");
una cosa mas, te aconsejo q no lo hagas todo en php, es decir, q dejes la parte del HTML en HTML y lo q te haga falta de PHP abras y cierres las llaves!
asi no cargaras tu servidor y dejaras q el explorar del cliente trabaje y q tu servidor solo reciba las peticiones pertinentes y justas!
Código PHP:
<select id="curso" name="curso">  
    <option value="Sin Curso" selected>Seleccione el curso</option>  
    <?
    $sqlcurso
="select * from CURSOS where ID='$categoria'"
    
$rescurso=mysql_query($sqlcurso);  
    
//Mostramos los cursos de dicha categoria 
    
while($filacurso=mysql_fetch_array($rescurso)){  
    
?>
    <option value="<?=$filacurso[Titulo]?>"><?=$filacurso[Titulo]?></option>
    <? }   ?>
</select>
EDITADO: TE SALE LO DE SELECCION CURSO PORQUE CUANDO LE DAS AL LINK NO TE COJE EL VALOR ACTUAL DEL SELECT SINO EL Q TIENE CARGADO LA VARIABLE Q EN ESTE CASO ES SELECCIONE CURSO
Solucion
-> lo q tendrias q hacer es un boton submit para validar el formulario o bien cojer esa variable con javascript a traves de una funcion pasarla a PHP!

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 29/12/2006 a las 05:25
  #10 (permalink)  
Antiguo 29/12/2006, 05:35
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Me podrias explicar mejor esa solucion?
Que va a ser que tengo que hacer eso o sino un post en el que hablen de eso y lo voy mirando para no rallarte mas, digo yo.
  #11 (permalink)  
Antiguo 29/12/2006, 05:36
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Mejor lo de javascript creo yo porque lo del boton submit va a ser que no
  #12 (permalink)  
Antiguo 29/12/2006, 06:10
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

ok! pues optamos por la solucion de javascript.
Como vas de javascript?

en tu archivo de javascript, o en el Head de tu pagina tienes q poner una funcion. (En caso del head la tendras q poner entre claves:
<script language="JavaScript">...</script>
tu select debe tener un id para reconocerlo.
Código HTML:
<select id="curso" name="curso">
...
</select> 
y la funcion q debes de tener es la siguiente
(esta funcion sirve para saber el valor q tiene seleccionado un campo a traves de su id)
Código PHP:
function metemecurso(){
 var 
cursousuariodocument.nombreformulario.getElementById('curso').options[document.getElementById('curso').selectedIndex].value
 document
.location.href "meter_producto.php?curso="+cursousuario;

y para invocar la funcion y pasarle el valor tendria q ser de la siguiente manera:
Código HTML:
<a href="javascript:metemecurso();">blablabla</a> 
Espero q te sirva!

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 29/12/2006 a las 06:16
  #13 (permalink)  
Antiguo 08/01/2007, 02:51
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Aupa!
A ver lo pongo como me comentas pero no me entra al darle al enlace me pone q se ha creado la pagina pero con errores y no me entra a la pagina de mete_producto.php
  #14 (permalink)  
Antiguo 08/01/2007, 03:00
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Os pongo el codigo entero:
inex.php
Código PHP:
<script language="JavaScript" type="text/JavaScript">
<!--
function metemecurso(){ 
 var cursousuario= document.diagnostico.getElementById('curso').options[document.getElementById('curso').selectedIndex].value 
 document.location.href = "mete_producto.php?curso="+cursousuario; 
}  

//-->
</script>
</head>

<body>
<form name="diagnostico" method="post" action="">
<? 
// Me conecto a la base de datos 
$link mysql_connect("localhost","desarrollo","desarrollo");
mysql_select_db("COIIE-DESA",$link);
// Declaro la variable $paisant que es la que me va a indicar si hay que volver a cargar los datos de los cursos 
$catant=$categoria;
//Ponemos un campo oculto con el valor de catant y abrimos el select
?> 
<input type="hidden" name="catant" value="$catant"> <tr> 
       <td><div align="left"><strong><font size="2" face="Arial, Helvetica, sans-serif">Categoria:</strong></div></td> 
       <td><select name="categoria" onchange="submit();"> 
<?
//Muestra el combobox de los cursos una vez que se haya elegido la categoria, no antes 
if (!isset($categoria)){
?> 
    <option selected>Seleccione la categoria</option> 
<?
    $categoria
="0"

//Hacemos la consulta sobre las categorias
$sql="select * from CATEGORIAS order by ID"
$res=mysql_query($sql); 
//Mostramos las categorias
while($fila=mysql_fetch_array($res)){ 
print(
"<option value=\"$fila[ID]\""); 
if (
$fila[ID] == $categoria) { 
print (
" selected"); 

print(
">$fila[NOMBRE]</option>\n"); 

?>
</select></td></tr> 
<?
//Abrimos el select de cursos
?>
<tr> 
    <td><div align=left><strong><font size=2 face=Arial, Helvetica, sans-serif>Curso:</strong></div></td> 
<td><select id="curso" name="curso">   
    <option value="Sin Curso" selected>Seleccione el curso</option>
    <?
//Hacemos consulta de cusos de dicha categoria
$sqlcurso="select * from CURSOS where ID='$categoria'";
$rescurso=mysql_query($sqlcurso); 
//Mostramos los cursos de dicha categoria
while($filacurso=mysql_fetch_array($rescurso)){
?> 
<option value="<?=$filacurso[Titulo]?>"><?=$filacurso[Titulo]?></option> 
<? }?> 
</select> </td> </tr> 
- <a href="Javascript:metemecurso();">Introduce curso</a>
- <a href="ver_carrito.php">Ver carrito</a></form>
</body>
</html>
mete_producto.php
Código PHP:
<?
include("lib_carrito.php");
$curso_selec=$_GET["curso"];
echo 
$curso_selec;
$_SESSION["ocarrito"]->introduce_producto($_GET["id"], $_GET["nombre"], $_GET["precio"]);

?>

<html>
<head>
    <title>Introduce Producto</title>
</head>

<body>

Producto introducido.
<br>
<br>
<a href="index.php">- Volver</a>
<br>
<br>
<a href="ver_carrito.php">- Ver carrito</a>

</body>
</html>
  #15 (permalink)  
Antiguo 08/01/2007, 03:22
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

Hola! podrias mirar si te llega bien la variable a la funcion poniendole un alert para q te la muestre!
Código PHP:
<script language="JavaScript" type="text/JavaScript"
<!-- 
function 
metemecurso(){  
 var 
cursousuario document.diagnostico.getElementById('curso').options[document.getElementById('curso').selectedIndex].value  
 alert
(cursousuario);
 
document.location.href "mete_producto.php?curso="+cursousuario;  
}   

//--> 
</script> 
EDITADO:
pon un ID en tu formulario:
Código HTML:
<form id="diagnostico" name="diagnostico" method="post" action=""> 

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #16 (permalink)  
Antiguo 08/01/2007, 03:36
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Joe me estoy volviendo loco!
Pos asi tampoco va, yo creo q el tema es la llamada a javascript desde el enlace es en lo unico que falla
Se le llama asi fijo no?
Javascript:metemecurso();
Es que se me hace muy extraño q no me abra el enlace
  #17 (permalink)  
Antiguo 08/01/2007, 03:55
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

Hola de nuevo!
xo a ver, entra o no entra en la funcion?
te sale algun alert?
el nombre de la funcion es el q tu quieras darle.
metemecurso, metememascursos, eso a tu gusto.
javascript:metemecurso(); = function metemecurso(){
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #18 (permalink)  
Antiguo 08/01/2007, 04:02
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

No aparece ningun alert ni nada yo creo q no entra en la funcion
  #19 (permalink)  
Antiguo 08/01/2007, 04:16
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: coger valor de lista

ok! ya he visto lo q pasaba!
deja la funcion de javascript de la siguiente manera!
Código PHP:
<script language="JavaScript" type="text/JavaScript">  
<!--  
function 
metemecurso(){   
 var 
cursousuario document.getElementById('curso').options[document.getElementById('curso').selectedIndex].value   
 document
.location.href "mete_producto.php?curso="+cursousuario;   
}    

//-->  
</script> 
EDITADO: consejo:usa mozilla firefox xq tiene una consola de javascript donde se pueden aprecioar los errores!


saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #20 (permalink)  
Antiguo 08/01/2007, 04:19
 
Fecha de Ingreso: octubre-2006
Mensajes: 204
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: coger valor de lista

Eres bueno, muy bueno
Muxas gracias
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 12:47.