Foros del Web » Programando para Internet » PHP »

Problema con array

Estas en el tema de Problema con array en el foro de PHP en Foros del Web. Buenas! Como siempre recurro a los que saben :) Tengo un formulario mediate el cual inserto datos en la bd. El formulario cuenta con un ...
  #1 (permalink)  
Antiguo 09/06/2009, 09:50
 
Fecha de Ingreso: mayo-2008
Ubicación: En algun lado!
Mensajes: 86
Antigüedad: 15 años, 11 meses
Puntos: 1
Problema con array

Buenas! Como siempre recurro a los que saben :)

Tengo un formulario mediate el cual inserto datos en la bd.
El formulario cuenta con un textarea en el cual separo cada url de las imagenes mediante un "enter".
Luego tomo esos datos de la bd y los exploto para mostrarlos por separado.
Ahora, aca esta el problema.

Para explotar uso lo siguiente
Código PHP:
$caps explode("\n"$row[caps]); 
Y para mostrar los datos explotados uso

Código PHP:
echo '[img]'.$caps[0].'[/img]<br />';
echo 
'[img]'.$caps[2].'[/img]<br />'
echo 
'[img]'.$caps[3].'[/img]<br />'
echo 
'[img]'.$caps[4].'[/img]<br />'
echo 
'[img]'.$caps[5].'[/img]<br />'
El problema es que si yo inserto 3 imagenes (de un maximo de 5) igualmente me va a seguir mostrando sto (por dar un ejemplo)
[img]imagen1 [/img]
[img]imagen2[/img]
[img][/img]
[img][/img]
[img][/img]

Y yo quiero que muestre hasta la 2da linea (en este caso en particular. Si hubiera 3 imagenes necesito que muestre 3 lineas y asi sucesivamente)

Como hago para que el array me tome solamente el numero de imagenes que necesito??

Importante: La funcion del script es que me arme el BBCode para postear en foros.

Saludos y gracias!
  #2 (permalink)  
Antiguo 09/06/2009, 09:57
 
Fecha de Ingreso: junio-2009
Ubicación: Mar del Plata
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problema con array

Mira, esto debe funcionar:

Código PHP:
$caps explode("\n"$row[caps]);  
$cant count($caps);
for (
$i=0$i<$cant$i++)
    echo 
'[img]'.$caps[$i].'[/img]<br />'
La función count cuenta los elementos del array.
  #3 (permalink)  
Antiguo 09/06/2009, 17:51
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Problema con array

podria ser asi:

Código PHP:
$caps explode("\n"$row[caps]);

foreach(
$caps as $value)
{
    echo 
'[img]'.$value.'[/img]<br />';

__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #4 (permalink)  
Antiguo 10/06/2009, 23:19
 
Fecha de Ingreso: mayo-2008
Ubicación: En algun lado!
Mensajes: 86
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema con array

Barbaro cualquiera de los dos codigos me funciono, pero me surgio un nuevo inconveniente:

Yo tengo un textarea donde pongo los links de las imagenes, cada uno separada por un "enter" y de ahi inserto esos datos en la bd.
El problema es que cuando saco esos links de la BD, utilizo este codigo

Código PHP:
$caps explode("\n"$row[caps]);  
$cant count($caps);
for (
$i=0$i<$cant$i++)
echo 
'<img src="'.$caps[$i].'" /><br /> ';  } 
Pero el html que se forma esta mal, me agrega un <br /> automaticamente luego del $caps[i] y el codigo html queda asi

Código HTML:
<img src="http://www.imageurlhost.com/images/pqseit0jtqpd1nrgg775.png
" /> <br /> <img src="http://www.imageurlhost.com/images/siqnl5fl4t4d1mg1nhuj.png" /> 
cuando deberia quedar asi

Código HTML:
<img src="http://www.imageurlhost.com/images/pqseit0jtqpd1nrgg775.png" /><br /><img src="http://www.imageurlhost.com/images/siqnl5fl4t4d1mg1nhuj.png" /> 
El tema es que me pasa solo con todos los links de las imagenes, menos la ultima que si esta bien.

Alguna solucion ?
  #5 (permalink)  
Antiguo 11/06/2009, 00:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con array

usa trim()
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 11/06/2009, 15:52
 
Fecha de Ingreso: mayo-2008
Ubicación: En algun lado!
Mensajes: 86
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema con array

Cita:
Iniciado por pateketrueke Ver Mensaje
usa trim()
Si pero como lo uso con un array, porque siempre me queda algo asi

Código HTML:
array(2) { [0]=>  string(59) "http://www.imageurlhost.com/images/pqseit0jtqpd1nrgg775.png" [1]=>  string(59) "http://www.imageurlhost.com/images/siqnl5fl4t4d1mg1nhuj.png" }
y no me sirve demasiado...

El codigo que use es este

Código PHP:
function limpia_valores(&$valor

    
$valor trim($valor); 
}

array_walk($caps'limpia_valores');
var_dump($caps); 
Saludos!
  #7 (permalink)  
Antiguo 11/06/2009, 17: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: Problema con array

Cita:
Iniciado por pateketrueke Ver Mensaje
usa trim()
(al momento de imprimir, no de procesar)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 11/06/2009, 19:36
 
Fecha de Ingreso: mayo-2008
Ubicación: En algun lado!
Mensajes: 86
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Problema con array

No entendi...

Perdon soy nuevo en esto :$
  #9 (permalink)  
Antiguo 11/06/2009, 19:44
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Problema con array

me imagino que se referia a esto pateketrueke:

Código PHP:
$caps explode("\n"$row[caps]);  
$cant count($caps);
for (
$i=0$i<$cant$i++)
echo 
'<img src="'.trim($caps[$i]).'" /><br /> ';  } 
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
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 14:21.