prova, invece di stampare con l' echo, a racchiudere i risultati dentro alle variabili che poi aggiungerai alla variabile $page...cosi poi in fondo ti stampa il tutto...
prova, invece di stampare con l' echo, a racchiudere i risultati dentro alle variabili che poi aggiungerai alla variabile $page...cosi poi in fondo ti stampa il tutto...
oppure (ma non so se funziona) aggiungi direttamente nel ciclo
codice:$page .= tr($id_articolo,'misura','MISURA'); $page .= tr($id_articolo,'setole','SETOLE');
ecc ecc
Questo funziona perfettamente. Non tanto nella pagina di esempio che ho postato, ma nella pagina completa si.
Credo di aver risolto il problema. Ti ringrazio. Se potessi ti offrirei una birra
Ringrazio anche gli altri partecipanti alla discussione. Birra per tutti.
Ultima modifica di Ricky33; 21-11-2014 a 02:40
Chi più sa, meno sa.
Di nuovo ciao, non so se sia il caso di aprire un nuovo post...
Comunque il problema è questo:
Avevo necessità di avere un elenco in crescendo, quindi:
$query1="SELECT $campoDb FROM versioni WHERE id_pennello=$id_articolo ORDER BY misura1";
poi cambiato con:
$query1="SELECT $campoDb FROM versioni WHERE id_pennello=$id_articolo ORDER BY CAST(misura1 AS DECIMAL) ASC";
Il problema è che ci sono delle "misure" particolari, che sono, dalla più piccola alla più grande "000", "00", e "0", poi seguono la 1, 2 etc etc
Non riesco a metterle in ordine dalla più piccola alla più grande. Come posso fare?
Chi più sa, meno sa.
Potresti cambiare i nomi delle taglie nel database (1, 2, 3), poi se però vuoi che il tuo output sia 000, 00, 0, 1, 2, ecc puoi usare le condizioni:
Non sono sicuro della sintassi perchè essendo tutti valori numerici forse non necessitano degli apicicodice:SELECT CASE taglie WHEN 1 THEN '000' WHEN 2 THEN '00' WHEN 3 THEN '0' WHEN 4 THEN '1' WHEN 5 THEN '2' WHEN 6 THEN '3' END FROM tabella ORDER BY taglie ASC