Foros del Web » Programando para Internet » PHP »

quitar caracter de bucle while

Estas en el tema de quitar caracter de bucle while en el foro de PHP en Foros del Web. hola he visto en varios post y no lo he logrado tengo una consulta a mi base que me lista temas estos los tengo que ...
  #1 (permalink)  
Antiguo 23/06/2009, 19:57
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
quitar caracter de bucle while

hola he visto en varios post y no lo he logrado tengo una consulta a mi base que me lista temas estos los tengo que separar con | pongo el ejemplo
Código PHP:
$separador "|";
while (
$array mysql_fetch_array($res))
{
echo 
"audio/".$array[nombre_a].$separador;

esto me devuelve correctamente pero nesecito quitar del ultimo el separador he probado como vi en los post de este foro varias alternativas pero no lo he podido lograr

una de los ultimos intententos fue

Código PHP:
$codigos=array();
while (
$array mysql_fetch_array($res)){ 
    
$codigos[]=$array["nombre_a"]; 

para separar los resultados para despues aplicar un implode pero ni siquiera me devuleve arrays con los resultados asi que no agrego la parte del implode, probe tambien con substr pero me los quita de todos
se que se ha ahablado en otros post pero no he podido si alguien me pude dar una mano

muchas gracias de antemano
  #2 (permalink)  
Antiguo 23/06/2009, 20:13
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: quitar caracter de bucle while

Un pequeño ejemplo

$solo_ultimo="primero,segundo,tercero,cuarto,";

echo substr($solo_ultimo,0,strlen($solo_ultimo)-1);

http://www.php.net/substr donde el segundo parametro le paso 0 el tercero calculo el tamaño del String por medio de strlen y le resto 1 al resultado y con esto consigo que me elimine solo la coma ,
  #3 (permalink)  
Antiguo 23/06/2009, 20:34
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: quitar caracter de bucle while

gracias por la respusta si eso lo vi de hecho he usado substr en otras cosas pero no se porque estoy trabado en esto mira pongo como lo dedusco segun los visto y no me resulta

Código PHP:

while ($array mysql_fetch_array($res))
{
$temas "audio/".$array[nombre_a].$separador;

echo 
substr($temas,0,strlen($temas)-1);

me los quita de todos, lo que nesecito es que me lo quite del ultimo nada mas gracias de vuelta
  #4 (permalink)  
Antiguo 23/06/2009, 20:46
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: quitar caracter de bucle while

Intenta asi
while ($array = mysql_fetch_array($res))
{
$temas. = "audio/".$array[nombre_a].$separador;

}
echo substr($temas,0,strlen($temas)-1);
  #5 (permalink)  
Antiguo 23/06/2009, 20:56
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: quitar caracter de bucle while

he probado tambien eso y cuando pongo el
Cita:
echo substr($temas,0,strlen($temas)-1);
fuera del while me devuelve solo el primero
gracias
  #6 (permalink)  
Antiguo 23/06/2009, 21:03
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: quitar caracter de bucle while

Como que el primero?
  #7 (permalink)  
Antiguo 23/06/2009, 21:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: quitar caracter de bucle while

Cambia un poco:

Código php:
Ver original
  1. $separador = '';
  2. while(condicion) {
  3.     echo $separador . 'lo que quieras mostrar';
  4.     $separador = '|';
  5. }

Edito: Te servira implode()?

Código php:
Ver original
  1. echo implode($separador, $matriz);
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 23/06/2009, 21:16
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
Sonrisa Respuesta: quitar caracter de bucle while

perdon me equivoque la verdad que lo probe tantas veces y el cansacio del dia debe ser que me juega en contra muchas horas de trabajo, funciona muy bien ahora muchas gracias por las respuestas
saludos!!
  #9 (permalink)  
Antiguo 23/06/2009, 21:33
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: quitar caracter de bucle while

cuando lo pongo por fuera me devuelve solo un resultado ahora estoy probando la otra respuesta me fijo y responfdo
  #10 (permalink)  
Antiguo 23/06/2009, 21:42
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: quitar caracter de bucle while

he probado
Código PHP:
$separador "";
while (
$array mysql_fetch_array($res))
{
$temas "audio/".$separador.$array[nombre_a];
$separador "|";

}
echo 
implode($separador$temas); 
y tambien

Código PHP:
$separador "|";
while (
$array mysql_fetch_array($res))
{
$temas "audio/".$separador.$array[nombre_a];

}
echo 
substr($temas,0,strlen($temas)-1); 
y algunas otras variantes y tampoco funciona

el qeu funciona pero con el el ultimo | es

Código PHP:
$separador " | ";
while (
$array mysql_fetch_array($res))
{
$temas "audio/".$array[nombre_a].$separador;

echo 
$temas;


gracias

Última edición por ale80262; 23/06/2009 a las 21:47
  #11 (permalink)  
Antiguo 24/06/2009, 00:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: quitar caracter de bucle while

Este funciona:

Código php:
Ver original
  1. $separador = '';
  2. while ($array = mysql_fetch_array($res))
  3. {
  4.     $temas = $separador . 'audio/' . $array['nombre_a'];
  5.     echo $temas;
  6.     $separador = '|';
  7. }

Te explico:
Como el separador se va a colocar al principio, no lo necesitas en el primer elemento, por eso inicia como cadena vacia y despues se asigna el separador que deseas y con eso evitas que aparezca al final, como te estaba sucediendo.

Lo del implode() te lo sugeri como una opcion adicional, esperando que leyeras un poco el manual para saber que trabaja con matrices (array) y analizaras cual opcion te era mas conveniente.

P.D. No copies y pegues el codigo que te dan (damos), mejor revisalo, entiendelo y adaptalo a tus necesidades.
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 24/06/2009, 07:15
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: quitar caracter de bucle while

Gracias por la respuesta, ayer cuando lo estaba haciendo estaba muy cansado recien lo vi lo analice y lo resolvi, muchas gracias
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 22:19.