Foros del Web » Programando para Internet » PHP »

PHP OO Separar contenido de un campo

Estas en el tema de Separar contenido de un campo en el foro de PHP en Foros del Web. Hola, quisiera saber como puedo separar el contenido de un campo para ser mostrado en php. Ejemplo: Mi campo de mi tabla se llama: Caracteristicas, ...
  #1 (permalink)  
Antiguo 06/12/2013, 15:57
 
Fecha de Ingreso: agosto-2013
Mensajes: 41
Antigüedad: 11 años, 3 meses
Puntos: 0
Separar contenido de un campo

Hola, quisiera saber como puedo separar el contenido de un campo para ser mostrado en php.

Ejemplo: Mi campo de mi tabla se llama: Caracteristicas, dicho campo contiene:
Estilo urbano
Material gamuza
Lona de alta resistencia
Cuello ligeramente acolchado
Suela vulcanizada
Plantilla de EVA
Gran amortiguación
Flexible y resistente

Quiero que todo ese contenido se muestre en una pagina. Pero cuando lo muestro me sale todo el contenido en una sola linea.

Este es mi codigo:

Código HTML:
<?php if ($prod) { ?>
                                                        <ul action="clasesDAO/GuardarProducto.php" method="POST" id="form">
                                                            <p value="<?php echo utf8_encode($prod['idProducto']) ?>"></p>
                                                            <h2>
                                                                <?php echo utf8_encode($prod['Descripcion']) ?></h2>
                                                            <p style="text-align: center"><img style="width:400px;height:300px;" src="images/<?php echo $prod['Imagen']; ?>"/></p>
                                                            <p>CARACTERÍSTICAS PRINCIPALES</p>
                                                            <p value="<?php echo utf8_encode($prod['Caracteristicas']) ?>"></p>
                                                            
                                                            <button class="btn btn-primary"><i class="icon-ok icon-white"></i> Registrar</button>

                                                        </ul>
                                                    <?php } ?> 
En donde dice CARACTERISTICAS PRINCIPALES, deberia de mostrarme cada linea que tengo en mi campo de BD.

Espero me ayuden. Gracias
  #2 (permalink)  
Antiguo 06/12/2013, 17:03
Avatar de fcarrizalest  
Fecha de Ingreso: diciembre-2013
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: Separar contenido de un campo

Hola que tal:

Lo que exponenes en el post, esta algo complicado si no tienes una forma de separar el contenido minimo ccon un salto de linea " \n\r " entre cada caracteristica.

Necesitarias colocar un separador entre cada opción, para posteriormente hacer un explode ()

[URL="http://php.net/manual/es/function.explode.php"]http://php.net/manual/es/function.explode.php[/URL]

O utilizando alguna expresión regular. para dicho proposito.

http://www.mclibre.org/consultar/php/lecciones/php_expresiones_regulares.html

Entonces en el primer caso el sencillo

Código PHP:
  $CaracteristicasArray =  explote"\n" $Caracteristicas );
   
// y ya con un for o un foreach imprimes cada elemento
   
if($Caracteristicas){
    
      foreach( 
$Caracteristicas as $key => $caracteristica )
         echo 
"  <br>  " $caracteristica ;
  } 

En lugar de un \n puedes optar por otro caracter, y utilizando Javascript para poder formatear los datos antes de que ingresen a la DB.

Espero te sea de utilidad....

Nota: no probe el código, simplemente escupi el código. pero la idea creo que se entiende.


Saludos~
  #3 (permalink)  
Antiguo 07/12/2013, 01:55
 
Fecha de Ingreso: agosto-2013
Mensajes: 41
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Separar contenido de un campo

Bueno, no soy muy bueno en php.
Esto \n tengo que poner en la BD?
El codigo que has puesto es asi?:

Código HTML:
Ver original
  1. <p>CARACTERÍSTICAS PRINCIPALES</p>
  2.                                                          $CaracteristicasArray =  explote( "\n" , $Caracteristicas );
  3.    // y ya con un for o un foreach imprimes cada elemento
  4.    if($Caracteristicas){
  5.      
  6.       foreach( $Caracteristicas as $key => $caracteristica )
  7.          echo "  <br>  " . $caracteristica ;
  8.   }

Si me ayudas a poner el codigo lo mas simple posible, es un trabajo para la universidad y no tengo mucho tiempo.

Gracias.
  #4 (permalink)  
Antiguo 07/12/2013, 07:39
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Separar contenido de un campo

Cita:
Iniciado por Jezukaz Ver Mensaje
Bueno, no soy muy bueno en php.
Esto \n tengo que poner en la BD?
El codigo que has puesto es asi?:

Código HTML:
Ver original
  1. <p>CARACTERÍSTICAS PRINCIPALES</p>
  2.                                                          $CaracteristicasArray =  explote( "\n" , $Caracteristicas );
  3.    // y ya con un for o un foreach imprimes cada elemento
  4.    if($Caracteristicas){
  5.      
  6.       foreach( $Caracteristicas as $key => $caracteristica )
  7.          echo "  <br>  " . $caracteristica ;
  8.   }

Si me ayudas a poner el codigo lo mas simple posible, es un trabajo para la universidad y no tengo mucho tiempo.

Gracias.
Que sea un trabajo de universidad y que no tengas mucho tiempo no nos vale, simplemente porque si preguntas en un foro debes de atenerte a la disponibilidad del tiempo de los usuarios. Si quieres respuestas "premium" mejor ve a la sección de trabajo y paga por ayuda, es lo mejor.

Segundo, que no seas muy bueno en PHP no significa que hagas las cosas copiando y pegando sin tratar de entender QUE hace y si está bien escrito. Si hubieses leído el post de @fcarrizalest como Dios manda (link de php incluido) hubieses notado de que no es explote, es explode, un pequeño error tipográfico que cualquier persona que sepa leer detenidamente y concienzudamente (sin hacer mero copy and paste) hubiera notado y corregido.

Tercero, para lo que quieres hacer voy a proponer una segunda solución un poco mas limpia y mas eficaz INMHO

Código PHP:
Ver original
  1. <p value="<?php echo utf8_encode(nl2br($prod['Caracteristicas'])) ?>"></p>

Lee la documentación de nl2br.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: campo, contenido, tabla
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:21.