Foros del Web » Programando para Internet » PHP »

Problema con "-1"

Estas en el tema de Problema con "-1" en el foro de PHP en Foros del Web. Hola a todos! Me encontre con un problema que no se como resolver.. En mi base de datos se guardan algunos datos con valor "-1". ...
  #1 (permalink)  
Antiguo 26/06/2011, 20:45
Avatar de Damicapu  
Fecha de Ingreso: octubre-2009
Ubicación: Campana, Buenos Aires
Mensajes: 50
Antigüedad: 15 años, 1 mes
Puntos: 1
Problema con "-1"

Hola a todos! Me encontre con un problema que no se como resolver..

En mi base de datos se guardan algunos datos con valor "-1". Yo lo que quiero hacer es lo siguiente:

Código PHP:
Ver original
  1. if($info[17] == -1){ $info[17] ='Sin Clase';}


Si el row [17] da resultado -1 deberia "convertirse" en el valor 'Sin Clase'.

Lo que pasa es que lo toma como 0, yo creo que php interpreta el "-1" como una resta y no como un resultado.

se puede poner esto de otra forma ?

Desde ya muchas gracias a todos por su ayuda :D
  #2 (permalink)  
Antiguo 26/06/2011, 21:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Problema con "-1"

A mí no me dio problemas
Código PHP:
Ver original
  1. <?php
  2. $str = '-1';
  3. if($str == -1){
  4.     echo 'foo';
  5. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/06/2011, 21:15
Avatar de Damicapu  
Fecha de Ingreso: octubre-2009
Ubicación: Campana, Buenos Aires
Mensajes: 50
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problema con "-1"

Cita:
Iniciado por abimaelrc Ver Mensaje
A mí no me dio problemas
Código PHP:
Ver original
  1. <?php
  2. $str = '-1';
  3. if($str == -1){
  4.     echo 'foo';
  5. }
Es bastante diferente la manera en que lo has probado.. el valor que tu usas ya esta definido en php, el valor -1 que yo uso lo devuelve una consulta mysql. Sin el IF la informacion se muestra como -1, pero cuando agrego el IF ya no funciona..
  #4 (permalink)  
Antiguo 26/06/2011, 21:21
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Problema con "-1"

los datos son iguales has esto
Código PHP:
Ver original
  1. $str = '-1';
  2. var_dump($info[17]);
  3. echo "<br />";
  4. var_dump($str);
y lo mas seguro es que te de el mismo resultado, claro si lo que nos estas diciendo del resultado de tu consulta sea igual a -1 es cierto, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 26/06/2011, 21:40
Avatar de Damicapu  
Fecha de Ingreso: octubre-2009
Ubicación: Campana, Buenos Aires
Mensajes: 50
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problema con "-1"

Les explico como lo tengo yo en mi .php..


Código PHP:
Ver original
  1. $sql_name_check = mysql_query("SELECT pj,d0,d1,d2,d3,d4,d5,d6,d11,d12,d13,d14,d15,d16,d17,d18,d21,d22 FROM cuentas WHERE pj='$character_get'");
  2. $name_check = mysql_num_rows($sql_name_check);
  3. $info = mysql_fetch_row($sql_name_check);
  4.  
  5. if($info[16] == -1){ $info[16] ='Sin Clase';}


Código HTML:
Ver original
  1. <tr>
  2.         <td align="right" class=alt9 bgcolor="#111111"><b><font color="#E2D9C0"><span class="normal_text">&nbsp; Clase :</span></font></b></td>
  3.         <td class="normal_text_white" bgcolor="#222222" align="center"><div align="left"><font color="#CC9966"><b>&nbsp;<?  echo("$info[17]"); ?></b></font></div></td>
  4.     </tr>


Ahi se los dejo mas completo..
  #6 (permalink)  
Antiguo 26/06/2011, 22:29
Avatar de Aaronus23  
Fecha de Ingreso: diciembre-2010
Ubicación: https://home
Mensajes: 81
Antigüedad: 13 años, 11 meses
Puntos: 4
Respuesta: Problema con "-1"

Código PHP:
$sql_name_check mysql_query("SELECT pj,d0,d1,d2,d3,d4,d5,d6,d11,d12,d13,d14,d15,d16,d17,d18,d21,d22 FROM cuentas WHERE pj='$character_get'"); 
$name_check mysql_num_rows($sql_name_check); 
$info mysql_fetch_row($sql_name_check); 
 
foreach (
$info as $key => $item) {
if(
$item == -1
$item[$key] ='Sin Clase';

algo asi deberia funcionar no?
  #7 (permalink)  
Antiguo 26/06/2011, 23:51
Avatar de Damicapu  
Fecha de Ingreso: octubre-2009
Ubicación: Campana, Buenos Aires
Mensajes: 50
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problema con "-1"

No, no me funciona...
  #8 (permalink)  
Antiguo 27/06/2011, 03:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 84
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Problema con "-1"

como tienes configurado la columna que almacena el dato "-1" es Interger?
Prueba modificando la columna como char o varchar a ver que pasa.
  #9 (permalink)  
Antiguo 27/06/2011, 04:23
Avatar de Damicapu  
Fecha de Ingreso: octubre-2009
Ubicación: Campana, Buenos Aires
Mensajes: 50
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Problema con "-1"

Hola, les aviso que ya solucione el problema. La columna es varchar :)

Muchas gracias a todos por su ayuda !

Etiquetas: Ninguno
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 21:30.