Foros del Web » Programando para Internet » PHP »

usando la "/" (diagonal)

Estas en el tema de usando la "/" (diagonal) en el foro de PHP en Foros del Web. hola a todos! Estoy usando la libreria fpdf para imprimir un reporte y en este reporte utilizo una variable q contiene una diagonal. Por ejemplo: ...
  #1 (permalink)  
Antiguo 25/05/2009, 13:37
 
Fecha de Ingreso: agosto-2003
Ubicación: pachuca,hgo
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
usando la "/" (diagonal)

hola a todos!

Estoy usando la libreria fpdf para imprimir un reporte y en este reporte utilizo una variable q contiene una diagonal. Por ejemplo: "N/A". se la estoy asignando a una variable y asi poder imprimirla y mostrarla pero no se q es lo q pasa q no me muestra nada, no se si php esté reconociendo la "/" como parte de su propio lenguaje y es por eso q no me imprime mi valor...

Asi esta mi codigo...

//AQUI ASIGNO MI VALOR
if($final==null){
$final="-";
}else{
if($final>=6){
$final="A";
}else{
$final="N/A";
}
}

//AQUI LO COMPARO E IMPRIMO DEPENDIENDO DE LA CONDICION PERO NO RESPETA EL "N/A"..
if($final=="A"){
$this->Cell(5);
$this->Cell(6,4,'ACREDITADA',0,0,'L');
}elseif($final=="N/A"){
$this->Cell(5);
$this->Cell(6,4,'NO ACREDITADA',0,0,'L');
}

Podria alguien decirme q es lo q esta pasando exactamente?...

Gracias!! Saludos.
__________________
just do it
  #2 (permalink)  
Antiguo 25/05/2009, 13:39
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: usando la "/" (diagonal)

Exactamente como dices php reconoce que "/" es propio de el, para poderla utlizar debes anteponer una contrabarra " \/ " que escapara a / y podra utlizarce

Lee un poco sobre esta funcion

http://www.php.net/addslashes
  #3 (permalink)  
Antiguo 25/05/2009, 14:29
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: usando la "/" (diagonal)

Más simple aún que usar addslashes (en este caso) es usar las comillas simples '. Lo que va entre comillas simples no se interpreta, a diferencia de las comillas dobles.
De este modo puedes poner
Código PHP:
$final 'N/A'
y lo mismo para la condición en el "elseif".
  #4 (permalink)  
Antiguo 25/05/2009, 15:17
 
Fecha de Ingreso: agosto-2003
Ubicación: pachuca,hgo
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: usando la "/" (diagonal)

pues no...no me quiere funcionar....ya hasta puse una bandera para comparar con ella pero no...ni asi me pone diagonal...

if($final==null){
$final="-";
}else{
if($final>=6){
$final='A';
$iden=1;
//echo "$iden";
}else{
$iden=2;
$finala="N/A";
$final=addslashes($finala);
//echo "$final";
//echo "$iden";
}
}

y ya para hacer la comparacion y traer datos ya no comparo el N/A sino con el valor q traiga esa variable de $iden


if($iden==1){
$this->Cell(5);
$this->Cell(6,4,'ACREDITADA',0,0,'L');
}elseif($iden==2){
$this->Cell(5);
$this->Cell(20,4,'NO ACREDITADA',1,1,'L');
}


creo q me sigue trayendo problemas esa diagonal....
__________________
just do it
  #5 (permalink)  
Antiguo 25/05/2009, 15:26
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: usando la "/" (diagonal)

y si declaras asi la variable:

$finala="N\/A";
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #6 (permalink)  
Antiguo 25/05/2009, 15:34
 
Fecha de Ingreso: agosto-2003
Ubicación: pachuca,hgo
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: usando la "/" (diagonal)

NO sale! Me salen 2 diagonales invertidas... Algo asi..

"N\\/A"

Está muy raro....no tendra q ver el pdf?....Son 2 datos los q traigo...ese dato de "N/A" y al lado su descripcion q es "NO ACREDITADA" y cuando empiezo a jugar con mis datos para traerlos a la vista uno se ve y el otro no...no se...

Q puede estar pasando...?...si lo unico q estoy haciendo es asignar a mi variable $final ese dato para q me lo pueda mostrar y no quiere traerlo...
__________________
just do it
  #7 (permalink)  
Antiguo 25/05/2009, 15:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: usando la "/" (diagonal)

La diagonal no es un problema, de hecho puedes incluirla en cadenas entre comillas dobles o sencillas y sin escapar, yo lo hago asi para crear rutas (enlaces o acceso a archivos), mas bien tu problema debe ser de logica.

Que pasa cuando $final == null y luego lo conviertes en '-'?... ahi no asignas $iden y, por tanto, no habria algun resultado posteriormente.
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 25/05/2009, 15:57
 
Fecha de Ingreso: agosto-2003
Ubicación: pachuca,hgo
Mensajes: 132
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: usando la "/" (diagonal)

mmmm...no creo q sea de logica sabes....porq si yo dejo mi codigo asi como está y solo cambio "N/A" por "NA" por ejemplo....
Y mi reporte me sale perfecto....Pero lo malo es q tiene q salir con la diagonal porq son unos certificados en los q va asi el dato...entonces por eso yo pienso q es la diagonal la q no deja mostrar nada....

//SUPONGAMOS Q ES ASI...AQUI HAGO MI CONDICION

if($final>=6){
$final='A';
}else{
$final='N/A';
}

//AQUI ES DONDE YA IMPRIMO EL RESULTADO

if($final=='A'){
$this->Cell(5);
$this->Cell(6,4,'ACREDITADA',0,0,'L');
}elseif($final=='N/A'){ // AQUI NO COMPARA BIEN
$this->Cell(5);
$this->Cell(20,4,'NO ACREDITADA',1,1,'L');
}
$this->Cell(104);
$this->Cell(6,4,$final,0,0,'C');

//EL REPORTE ME DEBE QUEDAR ASI

N/A ACREDITADA

//Y SOLO ME IMPRIME

N/A

Entonces yo pienso q el error esta en donde se hace la comparacion

Entonces en donde puede estar el error?....
__________________
just do it
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 18:22.