Foros del Web » Programando para Internet » PHP »

Problema con switch()

Estas en el tema de Problema con switch() en el foro de PHP en Foros del Web. Buenas, tengo un problema. recojo un valor de un select (o combo), y segun este valor, la variable inserta un texto u otro. tengo esto: ...
  #1 (permalink)  
Antiguo 13/10/2003, 13:13
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Problema con switch()

Buenas, tengo un problema. recojo un valor de un select (o combo), y segun este valor, la variable inserta un texto u otro. tengo esto:

el valor del select es el siguiente:

<select name="arch_nom" id="arch_nom">
<option value="waterpolo.jpg">waterpolo</option>
<option value="natacion.jpg">natacion</option>
</select>

$idnoticia=$HTTP_GET_VARS["idnoticia"];
$titular=$HTTP_GET_VARS ["titular"];
$copete=$HTTP_GET_VARS ["copete"];
$noticia=$HTTP_GET_VARS ["noticia"];
$arch_nom=$HTTP_GET_VARS ["arch_nom"];

switch ($arch_nom) {
case 0:
$archivo='imagenes/waterpolo.jpg';
$arch_nom='waterpolo.jpg';
break;
case 1:
$archivo='imagenes/natacion.jpg';
$arch_nom='natacion.jpg';
break;
}

$sql = "UPDATE noticias SET titular='$titular', copete='$copete', noticia='$noticia', arch_nom='$arch_nom', archivo='$archivo' WHERE idnoticia='$idnoticia'";

el problema es que la variable $archivo no me cambia, solo cambia la de $arch_nom. donde esta el error? no cambia el valor con el switch?

Gracisa!!
  #2 (permalink)  
Antiguo 13/10/2003, 13:38
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
la variable $arch_nom se introduce en la bd en blanco, es decir, sin valor. como recojo el valor? se pierde con el switch??

Salu2 y gracias
  #3 (permalink)  
Antiguo 13/10/2003, 13:52
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
el problema es que ponga lo q ponga en el select, siempre me coge el valor del case 0. como puedo hacerlo???
  #4 (permalink)  
Antiguo 13/10/2003, 14:00
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
buenas he solucionado ya el problema. no se pq motivo el switch no me coge el valor del select, siempre me cogia el mismo valor. al final he hecho un simple if else, y me lo coge perfectamente.

Salu2, y gracias !
  #5 (permalink)  
Antiguo 13/10/2003, 14:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

En los case del switch tienes que poner los valores que pones en el select. Lo que hace el switch es comparar la variable con los valores que pones en los case. Asi en tu caso seria:
Código PHP:
switch ($arch_nom) {
case 
'waterpolo.jpg':
$archivo='imagenes/waterpolo.jpg';
$arch_nom='waterpolo.jpg';
break;
case 
'natacion.jpg':
$archivo='imagenes/natacion.jpg';
$arch_nom='natacion.jpg';
break;

Tal como tienes el select.

Si cambias los valores de los option del select a 0 y 1, te sirve el codigo que has puesto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 14/10/2003, 05:17
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Muchas gracias Josemi, ahora funciona correctamente!!

Salu2
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 20:07.