Foros del Web » Programando para Internet » PHP »

implode dentro de un ciclo

Estas en el tema de implode dentro de un ciclo en el foro de PHP en Foros del Web. Hola a todos quiciera por que implode dentro de un ciclo no me separa como lo quiero. Código PHP:   <?php         $prueba = mysql_query ( ...
  #1 (permalink)  
Antiguo 27/09/2010, 12:30
 
Fecha de Ingreso: mayo-2010
Mensajes: 153
Antigüedad: 13 años, 11 meses
Puntos: 0
Exclamación implode dentro de un ciclo

Hola a todos quiciera por que implode dentro de un ciclo no me separa como lo quiero.

Código PHP:
 <?php
        $prueba
=mysql_query("SELECT * FROM INF_EMPRESASVSCATAGORIAS,INF_CATEGORIAS 
                           WHERE PVS_CODIGO_EMPRESA='$codigo_empresa'
                            AND INF_EMPRESASVSCATAGORIAS.PVS_CATEGORIA=INF_CATEGORIAS.CAT_CODIGO"
);
        
$result=mysql_num_rows($prueba);
        
//echo $result;
        
while($dat=mysql_fetch_assoc($prueba))
        {
            
$aa=$dat['PVS_CATEGORIA'];
            
$uu=$dat['CAT_NOMBRE'];
            
$array_cate[]=$uu;
            echo 
implode(",",$array_cate);    
            
$array_cate="";
        }
        
?>
  #2 (permalink)  
Antiguo 27/09/2010, 12:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: implode dentro de un ciclo

me imagino que debes hacerlo después del ciclo, ya que neutralizas la variable en cada iteración y de ningún modo debes hacerlo...

Código PHP:
$foo = array();
while (
/* ... */)
{
  
$foo []= $bar;
}
echo 
implode(','$foo); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/09/2010, 13:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 153
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: implode dentro de un ciclo

Pero es que sino limpio el array se me acomula todo.
  #4 (permalink)  
Antiguo 27/09/2010, 13:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: implode dentro de un ciclo

es que entonces no entiendes lo que sucede:

un implode() une los valores de un arreglo con algún separador, sin embargo... dicho separador solo es visible si el arreglo contiene mas de un elemento....

y con las instrucciones que realizas no tiene caso que uses implode(), pues solo estas agregando un valor y posteriormente vacías dicho arreglo... por eso es como si realmente no usaras dicha función...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/09/2010, 13:14
 
Fecha de Ingreso: mayo-2010
Mensajes: 153
Antigüedad: 13 años, 11 meses
Puntos: 0
Exclamación Respuesta: implode dentro de un ciclo

Depronto sabes que funcion sirve para separar dentro de un ciclo.
  #6 (permalink)  
Antiguo 27/09/2010, 13:21
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: implode dentro de un ciclo

lo que quieres es listar todas las categorias que encuentre ???

para eso aplica el implode fuera del ciclo como dice pateketrueke, pero para no repetir los valores usas array_unique

Código PHP:
<?php echo implode(','array_unique($foo));  ?>
sino, podrias explicar que es lo que quieres lograr.
  #7 (permalink)  
Antiguo 27/09/2010, 14:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: implode dentro de un ciclo

Cita:
Iniciado por jonnyalex_1990 Ver Mensaje
Depronto sabes que funcion sirve para separar dentro de un ciclo.
hmmm..

implode sirve para unir un arreglo...
http://php.net/implode

si quieres "separar", entonces podrías usar explode()
http://php.net/explode

y no importa si estas dentro de un ciclo o no, funciona del mismo modo... siempre y cuando comprendas, por favor lee el manual!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: implode, ciclos
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 20:11.