Foros del Web » Programando para Internet » PHP »

Como usar los Select

Estas en el tema de Como usar los Select en el foro de PHP en Foros del Web. hola gente.... Me he encontrado con un problema y no se como resolverlo. Les muestro el codigo... if ($R2 = 1){ $sql = "SELECT * ...
  #1 (permalink)  
Antiguo 07/11/2003, 05:59
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
Como usar los Select

hola gente....

Me he encontrado con un problema y no se como resolverlo. Les muestro el codigo...

if ($R2 = 1){
$sql = "SELECT * FROM exptesi WHERE exp_inicio LIKE '% $nombre%'";
}else{
$sql = "SELECT * FROM exptesi WHERE exp_nro = '$nro'";
}

el 1er select funciona perfectamente.
En cambio el Segundo Select
, duerme una eterna siesta.

para mas datos exp_nro es un INT 11

Mil gracias...
  #2 (permalink)  
Antiguo 07/11/2003, 06:10
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Si tienes el codigo tal como esta en el mensaje, nunca se ejecuta el else. Siempre se ejecuta el primer select. ¿Por que? Pues porque $R2=1 siempre es verdadero. ¿Por que? Porque $R2=1 es asignar a la variable $R2 el valor 1, y esa expresion devuelve 1 que el verdadero. ¡Pero si lo que yo queria era comparar! El operador = es de asignacion, el igualdad es ==, y el de "exactamente iguales en valor y tipo" es ===. Asi que si querias comparar $R2 con 1, deberias haber puesto:
Código PHP:
if ($R2==1) { 
Para evitar este tipo de problemas, yo acostumbro a poner el valor a la izquierda del operador. Asi:
Código PHP:
if (1==$R2) { 
porque asi si me equivoco y pongo 1=$R2, PHP me pega un grito con un error que dice algo asi como 'no se puede asignar valores a constantes'.

Y en tu codigo supongo que cuando querias que se ejecutase el segundo select, es porque $nombre no tenia valor. Y entonces estaria ejecutando la primera consulta sin el valor de $nombre, asi que pasaria lo que pasaba.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 07/11/2003, 06:43
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 20 años, 9 meses
Puntos: 0
Josemi...

no solamente vi el codigo cuando lo escribi, sino tambien cuando lo pase a la consulta de este foro....

No puede ser que sea tan bestia....

Gracias nuevamente por hacerme ver lo que no pude ver lo que codifique 2 veces.

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 16:42.