Foros del Web » Programando para Internet » PHP »

Problema con count() y substr()

Estas en el tema de Problema con count() y substr() en el foro de PHP en Foros del Web. ¿Qué estoy haciendo mal en este código? El nombre del artículo($row[nombre]) es abcdefg. y es eso mismo lo que me muestra la página cuando debería ...
  #1 (permalink)  
Antiguo 22/10/2004, 05:19
Avatar de ibme74  
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 13 años, 8 meses
Puntos: 0
Problema con count() y substr()

¿Qué estoy haciendo mal en este código?
El nombre del artículo($row[nombre]) es abcdefg.
y es eso mismo lo que me muestra la página cuando debería
mostrarme abcde ¿no?.
El codigo es:
<?
$host = "";
$user = "";
$password = "";
$dbdat = "";
$link = mysql_connect ($host,$user,$password);
$query = "SELECT * from referen where codigo='50'";
$result=mysql_db_query($dbdat,$query,$link);
while ($row = mysql_fetch_array($result))
{
$CAMPO=$row[nombre];
$NUM_CAR = count ($CAMPO);
$NUM_CAR_SHOW = "2";
if ($NUM_CAR > $NUM_CAR_SHOW) {
$resto = substr ($CAMPO, 0, $NUM_CAR_SHOW);
echo $resto;
}else{
echo $CAMPO;
}
}
mysql_close();
?>

gracias y saludos.
  #2 (permalink)  
Antiguo 22/10/2004, 05:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Para cadenas, es strlen() (www.php.net/strlen), no count(), que es para arrays.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/10/2004, 05:55
Avatar de ibme74  
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 13 años, 8 meses
Puntos: 0
Hola josemi y gracias por contestar.
Si no entiendo mal seria sustituir
$NUM_CAR = count ($CAMPO);
por
$NUM_CAR = strlen ($CAMPO);
si es así, no me funciona, no me muestra nada.
  #4 (permalink)  
Antiguo 22/10/2004, 06:13
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Haz un echo de $NUM_CAR y $NUM_CAR_SHOW para ver sus valores.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 22/10/2004, 06:35
Avatar de ibme74  
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 13 años, 8 meses
Puntos: 0
EL Codigo:
<?
$host = "";
$user = "";
$password = "";
$dbdat = "";
$link = mysql_connect ($host,$user,$password);
$query = "SELECT * from referen where codigo='50'";
$result=mysql_db_query($dbdat,$query,$link);
while ($row = mysql_fetch_array($result))
{
$CAMPO = $row[nombre];
$NUM_CAR = strlen($CAMPO);
$NUM_CAR_SHOW = 2;
if ($NUM_CAR > $NUM_CAR_SHOW) {
$resto = strlen ($CAMPO, 0, $NUM_CAR_SHOW);
echo "$resto" ;
echo "$NUM_CAR";
echo "juan";
echo "$NUM_CAR_SHOW" ;
}else{
echo "$CAMPO" ;
echo "$NUM_CAR ";
echo "pepe";
echo "$NUM_CAR_SHOW" ;
}
}
mysql_close();
?>

Me muestra 7juan2 , no me muestra $resto

Última edición por ibme74; 30/01/2007 a las 04:59
  #6 (permalink)  
Antiguo 22/10/2004, 06:41
Avatar de ibme74  
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 13 años, 8 meses
Puntos: 0
Perdona, deberia ser:
$resto = substr ($CAMPO, 0, $NUM_CAR_SHOW);
y no
$resto = strlen ($CAMPO, 0, $NUM_CAR_SHOW);

ahora me muestra ab7juan2 deberia ser abcde y no ab.
  #7 (permalink)  
Antiguo 22/10/2004, 07:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Cita:
ahora me muestra ab7juan2 deberia ser abcde y no ab.
No, esta bien. Como has llamado a substr() ab es la salida correcta. Revisa el manual de substr() (www.php.net/substr), es (cadena, posicion de comienzo, numero de caracteres a mostrar).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 22/10/2004, 07:04
Avatar de ibme74  
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 13 años, 8 meses
Puntos: 0
Muchisimas gracias josemi.
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 04:19.