Formattare variabile

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Buona sera, spero sia questa la sezione giusta. Avrei bisogno del vostro aiuto in quanto vorrei formattare una variabile php ma non so se si possa fare e come fare, mi spiego meglio. Ho questo codice php:

PHP:
<?php 
$post_pubblicati = wp_count_posts();
echo "Articoli presenti sul blog $post_pubblicati->publish";
?>

La variabile $post_pubblicati restituisce il numero di articoli pubblicati, supponiamo che siano 100, mi domando è possibile formattare il numero 100 assegnando ai numeri colori diversi?

Esempio: 100

Grazie
 
Ultima modifica di un moderatore:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, dovrai usare un po di "style", prova cosi
PHP:
<style>
    .red {
        color:red;
    }
    .blue {
        color:blue;
    }
    .orange {
        color:orange;
    }
</style>
<?php
$colori = array("red", "blue", "orange");
$post_pubblicati = str_split(100);
$output = "";

for ($i = $x = 0; $i < count($post_pubblicati); $i++, $x++) {
    $output .= "<span class='" . $colori[$x] . "'>" . $post_pubblicati[$i] . "</span>";
    if ($x % 2 == 0)
        $x = 0;
}
echo "Articoli presenti sul blog $output";
?>
Non ho commentato se qualcosa non ti è chiaro chiedi pure
ps:
ovviamente dove io ho messo 100 tu metterai $post_pubblicati->publish
 

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Ciao, grazie mille per la risposta. Scusami ma non sono molto pratico con il php. Dunque il codice finale e corretto dovrebbe essere cosi:

PHP:
<?php 
$post_pubblicati = wp_count_posts();
$colori = array("red", "blue", "orange");
$post_pubblicati = str_split($post_pubblicati->publish);
$output = "";

for ($i = $x = 0; $i < count($post_pubblicati); $i++, $x++) {
    $output .= "<span class='" . $colori[$x] . "'>" . $post_pubblicati[$i] . "</span>";
    if ($x % 2 == 0)
        $x = 0;
}
echo "Articoli presenti sul blog $output";
?>

e i vari style scritti nel mio foglio di stile css.

Giusto cosi?

Grazie mille
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
esatto
forse pero ti conviene sostituire questo
PHP:
if ($x % 2 == 0)
        $x = 0;
con questo
PHP:
if ($x % (count($colori) - 1) == 0)
        $x = 0;
cosi se aggiungi altri colori nell'array non dovrai modificare il codice del ciclo
 

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Grazie mille, funziona benissimo. Ti posso fare una domanda? Se i numeri fossero 4 tipo: 1000 il codice come si comporterebbe in quel caso?

Grazie mille
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Il quarto numero sara di nuovo rosso
il contatore $x va a pescare il colore dall'array $colori
con questa istruzione che ti ho indicato prima
PHP:
if ($x % (count($colori) - 1) == 0)
        $x = 0;
il contatore si azzera quando ha preso tutti i colori disponibili e riparte da capo
 

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Grazie mille, gentilissimo e molto chiaro nelle spiegazioni.

P.S. posso modificare solo l'ultimo messaggio scritto? Volevo inserire un [RISOLTO] nel titolo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non abbiamo mai usato il [RISOLTO] nelle discussioni
in teoria puoi modificare i messaggi fino a dieci minuti dopo che li ha scritti Il primo che contiene il titolo gia non puoi piu modificarlo
chiedero ai supermod
cmq ti hodetto una cavolata:
e riparte da capo
in realta facendo un paio di prove ho notato che riparte dal blu, provero a dargli un occhiata
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
modificando cosi si comporta come detto
PHP:
<?php
$colori = array("red", "blue", "orange");
$post_pubblicati = str_split(100000000);
$output = "";
$x = 0;
for ($i = 0; $i < count($post_pubblicati); $i++) {
    $output .= "<span class='" . $colori[$x] . "'>" . $post_pubblicati[$i] . "</span>";
    if ($x == (count($colori) - 1))
        $x = 0;
    else
        $x++;
}
echo "Articoli presenti sul blog $output";
?>
 

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Ciao, io invece di 100000000 devo mettere sempre: $post_pubblicati->publish ?

Quindi adesso è:

PHP:
<?php 
$post_pubblicati = wp_count_posts();
$colori = array("red", "blue", "orange"); 
$post_pubblicati = str_split($post_pubblicati->publish); 
$output = ""; 
$x = 0; 
for ($i = 0; $i < count($post_pubblicati); $i++) { 
    $output .= "<span class='" . $colori[$x] . "'>" . $post_pubblicati[$i] . "</span>"; 
    if ($x == (count($colori) - 1)) 
        $x = 0; 
    else 
        $x++; 
} 
echo "Articoli presenti sul blog $output"; 
?>

Giusto?

Un ultima domanda, in caso di 4 potrebbe diventare cosi: 1000

Cioè: il primo numero (1) rosso, il secondo e terzo ( 0 0) blu ed il quarto ( 0 ) arancione?

Grazie mille
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Puoi verifcare la lunghezza con strlen e modificare l'array in base a quanti numeri contiene la variabile
PHP:
$colori = array("red", "blue", "orange");
if (strlen($post_pubblicati->publish) > 3) {
    $colori = array("red", "blue", "blue", "orange");
}
 
Ultima modifica:

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Grazie. Quindi per adesso uso questo

PHP:
<?php  
$post_pubblicati = wp_count_posts(); 
$colori = array("red", "blue", "orange");  
$post_pubblicati = str_split($post_pubblicati->publish);  
$output = "";  
$x = 0;  
for ($i = 0; $i < count($post_pubblicati); $i++) {  
    $output .= "<span class='" . $colori[$x] . "'>" . $post_pubblicati[$i] . "</span>";  
    if ($x == (count($colori) - 1))  
        $x = 0;  
    else  
        $x++;  
}  
echo "Articoli presenti sul blog $output";  
?>

Quando poi saranno 4 lo modifico in:

PHP:
<?php  
$post_pubblicati = wp_count_posts(); 
$colori = array("red", "blue", "orange");
if (strlen($post_pubblicati->publish) > 3) {
    $colori = array("red", "blue", "blue", "orange");
}    
$post_pubblicati = str_split($post_pubblicati->publish);  
$output = "";  
$x = 0;  
for ($i = 0; $i < count($post_pubblicati); $i++) {  
    $output .= "<span class='" . $colori[$x] . "'>" . $post_pubblicati[$i] . "</span>";  
    if ($x == (count($colori) - 1))  
        $x = 0;  
    else  
        $x++;  
}  
echo "Articoli presenti sul blog $output";  
?>

Tutto giusto cosi?

Grazie mille
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Puoi utilizzare direttamente il secondo, quando diventeranno 4 cifre se ne accorge lo script
 
Discussioni simili
Autore Titolo Forum Risposte Data
Shyson [WordPress] [CSS] Formattare casella WordPress 0
Creatt [PHP] Posizionare e formattare testo PHP 13
booklisa [PHP] Input type: number, come formattare un PREZZO? PHP 6
J [HTML] Formattare il tag option HTML e CSS 5
E Formattare un testo in js Javascript 0
N Formattare tabella Immagini PHP 1
M "BOOTMGR is missing" - formattare HD di sistema Windows e Software 2
Shyson Formattare codice Facebook Likes PHP 2
voldemort Formattare campo date HTML e CSS 1
D Formattare Mac Os x avendo perso i DVD Mac e Software 0
Trapano Dopo Ubuntu 64bit non posso più formattare!!!!! Hardware 6
asevenx form per formattare testo e inserirlo in databse PHP 1
A Word per Mac 2011: è possibile formattare automaticamente in corsivo tutte le date di un doc.? Mac e Software 2
C Calcolare e formattare con javascript [Form!] Javascript 6
helpdesk Formattare form Upload HTML e CSS 2
S CSS & PHP: Formattare il testo mostrato da uno script php PHP 75
A Come formattare link dentro un div HTML e CSS 1
M formattare numero come valuta euro con PHP PHP 1
M Formattare testo senza anteprima Javascript 2
P Formattare testo e inserire immagini in text area PHP 4
A Form x formattare del testo Classic ASP 2
B Come formattare il testo di una news caricate sul database? Classic ASP 0
M Formattare testo textarea Javascript 0
G Dreamweaver può formattare il css diversamente? Webdesign e Grafica 1
PoLe Impossibile formattare il PC Hardware 26
A formattare testo per file ascii Classic ASP 0
V Formattare Linux e Software 0
J formattare testo x mails +cdonts Classic ASP 1
ElfoDelBasket [mysql/php] formattare le date PHP 2
S formattare hard disk Hardware 1
metalgemini inserire tag in un form x formattare il testo Javascript 10
A Formattare a basso livello? Hardware 6
C formattare win xp Windows e Software 1
A formattare testo html PHP 2
M Formattare un numero Classic ASP 2
N Come si crea una variabile dinamica da incrementare? Javascript 1
R Variabile non risconosciuta dentro una funzione PHP 1
K posizionare variabile da pagina html all'iframe. Javascript 1
I Assegnare dati fetch request ad una variabile globale Javascript 0
E Inviare variabile a PHP da ciclo in JS Javascript 0
S Variabile in post su altra pagina PHP 2
F Passare variabile a pulsante in finestra modale PHP 2
R Nome input testo+variabile PHP 1
A inserire variabile php colore in div html PHP 2
N Variabile di sessione è un array PHP7 PHP 3
A variabile non riconosciuta PHP 0
K Cambiare font size su echo stringa variabile PHP 24
B Errore unexpected '$variabile' (T_VARIABLE) in your code on line PHP 2
M Inserire variabile nella value di una hidden PHP 3
A Problema nel passare la variabile PHP 0

Discussioni simili