Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2007
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
Integer a String en PHP

Hola a todos, tengo el siguiente problema, quiero cargar una variable $demora con el valor "5 - 15" en formato texto, o sea el nº 5 , cinco espacion en blanco, guion, conco espacios en blanco y el nº 15, pero al mostrarla o grabarla en una tabla de mysql me da el resultado como si fuera una resta.

Alguna sugerencia??
__________________
\_--> NoShY <--_/
Responder Con Cita
  #2  
Antiguo 06-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Es raro. Si asignas el valor así:

Código PHP:
$variable '5 - 15'
En $variable debería haber esa cadena... porque es lo que es. Ahora bien, esto otro:

Código PHP:
$variable 15
Es distinto, claro.

En PHP no hay tipos de variables, sino que se toman de su contexto, si está bien dicho así. Por lo tanto, un valor entrecomillado es una cadena de caracteres, y hasta donde yo llego no debería procesarse la resta, en este caso. Tal vez si usas comillas dobles...

Me consta que en este caso se expanden las variables, y tal vez estas "cuentas", pero, ahora mismo no estoy seguro. Desde luego con comillas simples esta circunstancia ya no se daría.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 06-08-2007
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
asi

en realidad hago esto:

Código PHP:

$demora        
'5     -     '.$_GET['dem']; 
donde $_GET['dem'] me trae un valor, en este caso es 15. y lo mismo me lo toma como resta.
__________________
\_--> NoShY <--_/
Responder Con Cita
  #4  
Antiguo 06-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué tal así?

Código PHP:
$demora        '"' '5     -     '.$_GET['dem'] . '"'
// Saludos
Responder Con Cita
  #5  
Antiguo 06-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Joroña que joroña...

Código PHP:
$demora sprintf("5     -     %s"$_GET['dem']); 
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 06-08-2007
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
Bien

me funciono de esta manera :

Código PHP:
$demora        '"' '5     -     '.$_GET['dem'] . '"'
Pero, no me toma los 5 espacios en blanco, me los reduce a uno solo, como puedo hacer para que me ponga los 5 espacios??
__________________
\_--> NoShY <--_/
Responder Con Cita
  #7  
Antiguo 06-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Eso es raro. A ver, el problema no es con php, esto es, desde el principio, para php el valor de $demora era la cadena "15 - 5". El problema es con MySQL, pues si, por ejemplo, usas una consulta como:

Código PHP:
mysql_query("update tabla set campo = $demora"); 
Al no haber comillas a los lados del valor, MySQL hace la resta antes de actualizar el valor. Pero con las comillas debería respetarte los espacios. ¿Por qué no nos dices como haces la consulta SQL?

// Saludos
Responder Con Cita
  #8  
Antiguo 06-08-2007
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por noshy Ver Mensaje
me funciono de esta manera :

Código PHP:
$demora        '"' '5     -     '.$_GET['dem'] . '"'
Pero, no me toma los 5 espacios en blanco, me los reduce a uno solo, como puedo hacer para que me ponga los 5 espacios??
¿Donde no te los toma?, en la Base de Datos? o ¿haces un "echo" a la variable para mostrar su valor en el navegador?

Saludos.
Responder Con Cita
  #9  
Antiguo 06-08-2007
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
Sin consulta

TE comento desde el principio.

Código PHP:

<?php
$demora        
'"' '5     -     '.$_GET['dem'] . '"';
...
...
$qpendientes mysql_query("insert into viajes_pendientes".
          
"(origen      , telefono   , zona   , parada , codigo   , estado , movil, fechaasignacion, id_usuario  , demora) ".
    
"values('$domicilio', '$telefono', '$zona', $parada, '$codigo', 0      , 0    , '$fecha'       , $vvidusuario$demora )"$conector);
?>

//en tro archivo
<?php
$qpendientes 
mysql_query("SELECT * FROM viajes_pendientes where estado = 0");

 echo 
"demora: ".$array['demora'];
?>

en este echo me devuelve: 5 - 15.


donde entre el 5 y el guion me deberia poner 5 espacios en blanco, y entre el guion y el 15 otros 5 espacios mas
__________________
\_--> NoShY <--_/
Responder Con Cita
  #10  
Antiguo 06-08-2007
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
echo

realice un echo y tambien me suprime los espacion, nunca me deja poner mas de un espacio en blanco
__________________
\_--> NoShY <--_/
Responder Con Cita
  #11  
Antiguo 06-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Ah! Pero eso ya no es problema ni de php ni de MySQL Es problema de HTML que se come los espacios extras. Tendrías que poner la cadena entre etiquetas <pre> o bien sustituir los espacios por la entidad &nbsp;

// Saludos
Responder Con Cita
  #12  
Antiguo 06-08-2007
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Si revisas el código fuente del navegador, posiblemente si encuentres los 5 espacios, el problema se da porque el html no permite mas de 1 espacio seguido, pero se puede evitar esta restricción reemplazando los espacios por "&nbsp;" que imprime un espacio.

prueba con esto:
Código PHP:
echo str_replace(' ','&nbsp;',$demora); 
Saludos.

Edit: La solución de roman también funciona y es mas fácil
Responder Con Cita
  #13  
Antiguo 06-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Otra cosa. Más que agregar las comillas en la variable $demora, quizá quieras hacerlo en la misma consulta:

Código PHP:
values('$domicilio''$telefono''$zona'$parada'$codigo'0      0    '$fecha'       $vvidusuario'$demora' 
Si te fijas, es lo que ya haces con $telefono. Vamosm que cualquier campo de texto debe encerrarse entre comillas al mandarlo a la base.

// Saludos
Responder Con Cita
  #14  
Antiguo 06-08-2007
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 139
Poder: 21
noshy Va por buen camino
GRACIAS, TOTALEs

Muchas Gracias por la Solucion, ya funciona perfectamente, GRACIAS de nuevo.
__________________
\_--> NoShY <--_/
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como pasar de string a integer. mcalmanovici Firebird e Interbase 4 03-04-2007 18:23:47
string a Integer Juanito-Kun Varios 4 06-10-2005 12:53:43
Convertir un String a Integer Rafe Varios 2 12-08-2005 17:43:38
de String a Integer!! kye_z Varios 2 20-11-2004 20:04:36
Pasar String a Integer ramonibk Varios 12 09-09-2004 17:20:20


La franja horaria es GMT +2. Ahora son las 08:20:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi