Foros del Web » Programando para Internet » PHP »

dividir digitos almacenados en una BD en capas div

Estas en el tema de dividir digitos almacenados en una BD en capas div en el foro de PHP en Foros del Web. Hola quería saber si se puede partir (dividir) unos números almacenados en la BD en distintos div. Por ejemplo, salir del diseño clásico de Código ...
  #1 (permalink)  
Antiguo 19/03/2014, 16:47
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
dividir digitos almacenados en una BD en capas div

Hola quería saber si se puede partir (dividir) unos números almacenados en la BD en distintos div.

Por ejemplo, salir del diseño clásico de
Código HTML:
<div> [Cantidad de visitas de Hoy: NUMERITOS]</div> 
q el método clásico sale así:
Código HTML:
Cantidad de visitas de Hoy: 102672
Lo quería cambiar como lo tiene la pagina de adf.ly que contiene en la parte inferior unos números (Cantidad de enlaces visitados); bueno resulta q me fije en su código fuente, y esta distribuido así:

Código HTML:
<div class="clicked" id="clicked">
            	<header>
                <h1>Enlaces visitados hoy:</h1>
                </header>
                <ul>
					<li class="digit">2</li>
					<li class="divider">,</li>
					<li class="digit">2</li>
					<li class="digit">7</li>
					<li class="digit">6</li>
					<li class="divider">,</li>
					<li class="digit">6</li>
					<li class="digit">7</li>
					<li class="digit">1</li>
				</ul>
			</div> 
Como ven, los dígitos están divididos por DIVs.
¿Alguien sabe como hacerlo así???
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #2 (permalink)  
Antiguo 19/03/2014, 16:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dividir digitos almacenados en una BD en capas div

Es muy simple, sólo debes convertir la cadena en un array, lo demás es puro ingenio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/03/2014, 17:03
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
Es muy simple, sólo debes convertir la cadena en un array, lo demás es puro ingenio.
pateketrueke tu eres el santo grial de FDW
si el explode hace lo contrario

Código PHP:
<?php
// Ejemplo 1
$pizza  "piece1 piece2 piece3";
$pieces explode(" "$pizza);
echo 
$pieces[0]; // piece1
echo $pieces[1]; // piece2
echo $pieces[2]; // piece3
?>
RESULTADO:

piece1piece2piece3
Con que hago lo contrario???
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #4 (permalink)  
Antiguo 19/03/2014, 17:19
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
Es muy simple, sólo debes convertir la cadena en un array, lo demás es puro ingenio.
(desde ahora serás el santo grial)

aca lo encontré
Código PHP:
<?php
$str 
"Hello Friend";

$arr1 str_split($str);
print_r($arr1);

?>
Resultado:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d )
Pero no me acuerdo (ahora) con q se devolvia el resultado sin el resultadod e arriba (q no me muestre el nombre "ARRAY")
creo q era con un return??
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #5 (permalink)  
Antiguo 23/03/2014, 11:34
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Busqueda Respuesta: dividir digitos almacenados en una BD en capas div

Código PHP:
<?php
$number 
2468;
echo 
"la variable: " .$number" <p>";
    
$array  array_map('intval'str_split($number));
var_dump($array);
?>
RESULTADO:
Código:
la variable: 2468
array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(6) [3]=> int(8) }
¿Como regreso el valor ahora sin todo eso de arriba?
Que solo sea 2 4 6 8
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #6 (permalink)  
Antiguo 23/03/2014, 13:48
 
Fecha de Ingreso: octubre-2009
Mensajes: 46
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por alette666 Ver Mensaje
Código PHP:
<?php
$number 
2468;
echo 
"la variable: " .$number" <p>";
    
$array  array_map('intval'str_split($number));
var_dump($array);
?>
RESULTADO:
Código PHP:
la variable2468
array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(6) [3]=> int(8) } 
¿Como regreso el valor ahora sin todo eso de arriba?
Que solo sea 2 4 6 8


array
0 => int 2
1 => int 4
2 => int 6
3 => int 8


Código PHP:
Ver original
  1. echo $array[0];
  2. echo $array[1];
  3. echo $array[2];
  4. echo $array[3];
  #7 (permalink)  
Antiguo 23/03/2014, 15:53
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por uri1230 Ver Mensaje
Código PHP:
Ver original
  1. echo $array[0];
  2. echo $array[1];
  3. echo $array[2];
  4. echo $array[3];
Aclaro que el numero expuesto en la variable $number, no es fija; es extraida de la BD (contador de visitas), por ende no puedo estar colocando manualmente los $array[], me falta encontrar algún fragmento que obtenga la cantidad de caracteres que compone $number para así usarlo automáticamente y llamar al $array[], me explico uri???
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #8 (permalink)  
Antiguo 23/03/2014, 22:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dividir digitos almacenados en una BD en capas div

¿Algo así?
Código PHP:
Ver original
  1. $array = str_split('1234');
  2.  
  3. foreach ($array as $num) {
  4.   echo $num;
  5. }
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 24/03/2014, 12:39
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Algo así?
Código PHP:
Ver original
  1. $array = str_split('1234');
  2.  
  3. foreach ($array as $num) {
  4.   echo $num;
  5. }

MMMMM no; volvería a obtener los dígitos juntos.
Yo lo que estoy buscando es que me quite (lo de color rojo)
array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(6) [3]=> int(8) }
pero respetando el $array = array_map('intval', str_split($number));, o sea, que me respete los espacios que se crearon entre numero y numero.
Ejemplo: (asi saldria el resultado original)
Código:
la variable: 2468
array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(6) [3]=> int(8) }
Y yo lo quiero ahora dejar así (sacando lo que había marcado en rojo)
Código:
la variable: 2468
Los dígitos ya están separados: 2 4 6 8
eso busco.
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #10 (permalink)  
Antiguo 24/03/2014, 14:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dividir digitos almacenados en una BD en capas div

Caray, estás atorado en un problema bastante básico, ¿no sabes trabajar con arrays?

Código PHP:
Ver original
  1. $nums = str_split('1234');
  2.  
  3. echo join(' ', $nums);

Revisa un manual y a leer, no es concebible que pierdas tiempo por tonterías tan básicas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 24/03/2014, 16:44
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Sonrisa Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
Caray, estás atorado en un problema bastante básico, ¿no sabes trabajar con arrays?

Código PHP:
Ver original
  1. $nums = str_split('1234');
  2.  
  3. echo join(' ', $nums);

Revisa un manual y a leer, no es concebible que pierdas tiempo por tonterías tan básicas.
Perdon San pateketrueke (patron de las urgencias) es que nunca se me dio por buscar, o pensar en la funcion join()

Código HTML:
<div class="clicked" id="clicked">
            	<header>
                <h1>Enlaces visitados hoy:</h1>
                </header>
                <ul>
					<li class="digit">2</li>
					<li class="divider">,</li>
					<li class="digit">4</li>
					<li class="digit">6</li>
					<li class="digit">8</li>
				</ul>
			</div> 
Ahora tengo que encontrar como adecuarlo asi y con eso ya terminaria
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #12 (permalink)  
Antiguo 24/03/2014, 17:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Ahora tengo que encontrar como adecuarlo asi y con eso ya terminaria
¿Es decir que no sabes programar y todo lo haces improvisando?

A lo que me refiero: antes de ponerte a programar debes resolver el problema.

Sí, en papel y con lapiz, mentalmente, reflexionando, etc.

A decir verdad no hace falta ser gurú o santo grial (vaya tontería) para pensar, ¿si sabes lo que es eso?

Es el proceso de resolver problemas de manera abstracta, sin tocar una linea de código.

Los pasos son los siguientes:

1. Separar la cadena en sus letras o números
2. Imprimes la apertura de lista <ul>
3. Iteras la lista
3.1. Compara cada valor, preguntando con is_numeric()
3.1.1. Si es es numérico entonces la clase es "digit"
3.1.2. Si no es numérico entonces la clase es "divider"
3.2. Imprimes dicho elemento <li>...</li>
3. Terminas de iterar
4. Imprimes el cierre de lista </ul>

Listo!

Ahora te toca pasar eso a seudo código y posteriormente a código real, si no eres capaz de eso mejor pide ayuda a un adulto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 24/03/2014, 22:00
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
3. Iteras la lista
Iterar la lista de array que he desmenuzado??
Código PHP:
<?php
$separadito
join(" "$separo); /*2 4 6 8*/
?>
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #14 (permalink)  
Antiguo 24/03/2014, 22:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dividir digitos almacenados en una BD en capas div

Por favor consulta el manual y revisa los mensajes anteriores, ya no le vamos a dar más vueltas: necesitas aprender a trabajar y diferenciar arrays.

Es tan básico como aprender a sumar y restar, si no lo sabes hacer es tu responsabilidad, no nuestra.

Suerte.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #15 (permalink)  
Antiguo 25/03/2014, 22:01
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Pregunta Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
Por favor consulta el manual y revisa los mensajes anteriores
Suerte.
Bueno, después de estar metiendole la mano hasta para ver si andaba o no, pude terminarlo.
Código PHP:
<?php
$number 
'24685';
/*1. Separar la cadena en sus letras o números*/
$cadena  array_map('intval'str_split($number));
/*2. Imprimes la apertura de lista <ul>*/
echo "<ul>";
/*3. Iteras la lista*/
foreach($cadena as $key => $v){
    
/*3.1. Compara cada valor, preguntando con is_numeric()*/
    
if(is_numeric($v)){
        
/*3.1.1. Si es es numérico entonces la clase es "digit"*/
        
$clase'digit';
        
$dato$v;
    }else{
        
/*3.1.2. Si no es numérico entonces la clase es "divider"*/
        
$clase'divider';
        
$dato',';
    }
    
/*3.2. Imprimes dicho elemento <li>...</li>*/
    
echo '<li class="'.$clase.'">'.$dato.'</li>';
/*3. Terminas de iterar*/
}
/*4. Imprimes el cierre de lista </ul>*/
echo "</ul>";
?>
RESULTADO: (resuelto)
Código:
<ul>
<li class="digit">2</li>
<li class="digit">4</li>
<li class="digit">6</li>
<li class="digit">8</li>
<li class="digit">5</li>
</ul>
Y acá viene mi duda:
Por ejemplo si desde la base de datos rescato 24685, y le quiero poner la (coma), para la unidad de mil (24,685) así de esa manera me da la clase "divider", ¿como lo dejaría?
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #16 (permalink)  
Antiguo 26/03/2014, 10:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: dividir digitos almacenados en una BD en capas div

Para dar formato al número usa number_format(), consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 26/03/2014, 11:49
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
Pregunta Respuesta: dividir digitos almacenados en una BD en capas div

Cita:
Iniciado por pateketrueke Ver Mensaje
Para dar formato al número usa number_format(), consulta el manual.
Pate, a esa función ya la había fichado en el ejemplo de arriba, pero me toma la coma como "0"; por ejemplo si de la base de datos yo la traigo así 24,685 me devolvia 24"0"685.
o sea lo indique asi:

Código PHP:
<?php 
$number 
'24685';
/**/
$formatonumber_format($number);
/**/
$cadena  array_map('intval'str_split($formato)); 
echo 
"<ul>"
foreach(
$cadena as $key => $v){ 
    if(
is_numeric($v)){ 
        
$clase'digit'
        
$dato$v
    }else{ 
        
$clase'divider'
        
$dato','
    } 
    echo 
'<li class="'.$clase.'">'.$dato.'</li>'

echo 
"</ul>"
?>
Me genera de resultado:

<ul>
<li class="digit">2</li>
<li class="digit">4</li>
<li class="digit">0</li>
<li class="digit">6</li>
<li class="digit">8</li>
<li class="digit">5</li>
</ul>

Por ende, cuando hago la comparación si es o no es numérico, me sale "0" en vez de la coma.
¿o esta mal posicionado la función?
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.
  #18 (permalink)  
Antiguo 26/03/2014, 12:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: dividir digitos almacenados en una BD en capas div

Será que intval convierte la coma en cero?

No veo la necesidad de array_map() si desde hace como 30,000 mensajes se vio que str_split() hace lo que necesitas.
__________________
- León, Guanajuato
- GV-Foto
  #19 (permalink)  
Antiguo 26/03/2014, 12:11
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 2 meses
Puntos: 5
De acuerdo Respuesta: dividir digitos almacenados en una BD en capas div [SOLUCIONADO]

[Solucionado]
Gracias pateketrueke y Triby. A veces necesito flor de cachetazo como el que me ha dado pateke con las consignas que me ha escrito.

Salu2!!
__________________
Y Sócrates dijo...Solo sé que no sé nada.
Entiende la filosofía como una búsqueda colectiva basada en el diálogo.

Etiquetas: capas, mysql+php, separador
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:32.