Allineare il testo dentro una select composta da più campi pesi da un db

Akille67

Utente Attivo
24 Giu 2012
25
0
1
Salve sto uscendo pazzo per risolvere un problema apparentemente semplice....

Ho una select in cui le option non create pendendo dati da un DB.

Per una corretta visualizzazione mi piacerebbe che i vari dati siano formattati a colonne.

es:
<OPTION value=$matricola>$id - $parametro - $matricola - $cognome $nome - $tzona &nbsp; <B>$giorno</B> - $linea_t $inizio_t $fine_t </OPTION>

in questo momento mi restituisce:

2 - SOC - SOCCORSO - 13:20 - 20:15 - 06:55 - S
117 - RIS - RISERVA - 13:20 - 20:15 - 06:55 - S

mentre a me piacerebbe:

2 | SOC | SOCCORSO | 13:20 | 20:15 | 06:55 | S
117 | RIS | RISERVA | 13:20 | 20:15 | 06:55 | S

o qualcosa di simile...

Gazie Alberto
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.052
6
38
50
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Ciao, o non ho capito bene o la soluzione è banale!
Basta che sostituisci il segno trattino (-) con il segno pipe (|)
Codice:
<OPTION value=$matricola>$id | $parametro | $matricola | $cognome $nome | $tzona &nbsp; <B>$giorno</B> | $linea_t $inizio_t $fine_t </OPTION>
 

Akille67

Utente Attivo
24 Giu 2012
25
0
1
Non mi sono saputo spiegare ... vorrei che i valori presi dal db fossero incolonnati come se fossero in una tabella,
cioè l'inizio di ogni valore uno sotto l'altro... Spero di essere stato chiaro
 

Akille67

Utente Attivo
24 Giu 2012
25
0
1
Non sono stato chiaro vorrei che i dati presi dal DB fossero incolonnati come in una tabella per facilitare la lettura..
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
spero che tu debba preparare queste option una sola volta, perché il mio suggerimento forse non è il migliore, ma funziona
HTML:
<select style="font-family: monospace; font-size: 12pt;">
<option>2&nbsp;&nbsp;&nbsp;|&nbsp;SOC&nbsp;|&nbsp;SOCCORSO&nbsp;|&nbsp;13:20&nbsp;|&nbsp;20:15&nbsp;|&nbsp;06:55&nbsp;|&nbsp;S</option>
<option>117&nbsp;|&nbsp;RIS&nbsp;|&nbsp;RISERVA&nbsp;&nbsp;|&nbsp;13:20&nbsp;|&nbsp;20:15&nbsp;|&nbsp;06:55&nbsp;|&nbsp;S</option>
</select>
<br /> <br /> <br />
<select style="font-family: monospace; font-size: 12pt;">
<option>2&nbsp;&nbsp;&nbsp;&nbsp;SOC&nbsp;&nbsp;SOCCORSO&nbsp;&nbsp;13:20&nbsp;&nbsp;20:15&nbsp;&nbsp;06:55&nbsp;&nbsp;S</option>
<option>117&nbsp;&nbsp;RIS&nbsp;&nbsp;RISERVA&nbsp;&nbsp;&nbsp;13:20&nbsp;&nbsp;20:15&nbsp;&nbsp;06:55&nbsp;&nbsp;S</option>
</select>

scusa ... ho letto dopo il titolo, se prendi da db, puoi creare una funzione php a cui passi la stringa e la lunghezza che deve avere e all'interno, aggiungi gli spazi come nell'esempio html, restituendo la stringa a lunghezza "costante"
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ti schematizzo come potresti fare, considera però che non otterrai mai un allineamento perfetto perchè i caratteri hanno una loro "larghezza"
e quindi occupano spazi diversi
PHP:
<?php
function allinea($ar){
	$stringa=array();
	$str_allineata=array();
	$stringa=$ar;
	foreach($stringa as $chiave => $valore){
		switch($chiave){
			case "id": $lun=4;break;
			case "nome": $lun=15;break;
			case "citta": $lun=15;break;
		}
		/*
		aggiungo degli spazi davanti chr(32)
		però a monitor gli spazi doppi (o più) risultano come unico spazio
		quindi li sostituiso con &nbsp;
		non posso usare direttamente &nbsp; perchè str_pad
		non lo considera spazio, ma una stringa quindi aggiunge &n ...
		*/
		$str_all=str_pad($valore,$lun,chr(32),STR_PAD_LEFT);
		$str_allineata[]= str_replace( chr(32) , '&nbsp;' , $str_all);
	}
	return implode("|",$str_allineata);
	
}
//TEST
//simulo estrazione da db
$da_db[1]['id']=37;//[1] primo record
$da_db[1]['nome']="pinco";
$da_db[1]['citta']="abbiategrasso";
$da_db[2]['id']=11;//[2] swecondo record
$da_db[2]['nome']="sofonisba";
$da_db[2]['citta']="aosta";
$da_db[3]['id']=999;//[3] terzo record
$da_db[3]['nome']="pallo";
$da_db[3]['citta']="verona";
foreach($da_db as $record){
	echo allinea($record)."<br>";
}
?>
per un buon allineamento ti convine usare le tabelle
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Allineare due righe di testo in photoshop Photoshop 2
E [HTML] Allineare foto a un tag DIV verticalmente HTML e CSS 0
F Allineare immagine al centro HTML e CSS 6
S Come allineare tre immagini in linea al centro HTML e CSS 1
I come allineare un icona HTML e CSS 6
M allineare due box(div) affiancati HTML e CSS 19
K allineare div al centro HTML e CSS 9
P Allineare data a sx dello schermo e titolo al centro HTML e CSS 16
K allineare controlli in un div HTML e CSS 3
A Allineare due colonne in una tabella HTML PHP 6
G Allineare Div in orrizzontale con cilo for PHP PHP 1
L Allineare 2 tools su sito web HTML e CSS 0
N Allineare numeri a destra. Classic ASP 2
B allineare le voci del menu con stile (Css) HTML e CSS 9
G Come allineare in alto una tabella? HTML e CSS 5
V Mailchimp - box di testo: cambia da solo il testo inserito Email Marketing 0
Barierta Testo a comparsa con passaggio del mouse Javascript 16
G grandezza testo HTML e CSS 4
D Testo colorato in base a giorno settimana PHP 12
S Testo scrolla su immagine che cambia HTML e CSS 0
S impostare un testo e una img nella stessa riga con jsPDF Javascript 0
R Nome input testo+variabile PHP 1
A Errore visualizzazione selezione testo Photoshop 0
Alex_70 Cerca testo all'interno di una stringa PHP 5
A Estrapolare parti di testo con PHP PHP 2
G Testo in mysql format 3 MySQL 0
G Box con testo casuale WordPress 1
G Modifica testo Photoshop 3
Y Colore sfondo testo Javascript 0
seranto [ASP] Controllare il testo inserito in Textarea Classic ASP 6
S [HTML] Effetto su testo da togliere HTML e CSS 0
A [WordPress] Recuperare testo articoli da sito danneggiato WordPress 1
A [HTML] Testo mail non visualizzabile su IOS HTML e CSS 0
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
Cosina [PHP] Cancellare una riga da un file di testo in base al nome PHP 2
Shyson [MySQL] Sostituire testo in in articolo MySQL 0
kikdirty Testo e perfezioni il tuo sito dando il massimo del punteggio seo Offerte e Richieste di Lavoro e/o Collaborazione 0
D [Visual Basic] [MS Access] query con parametro di testo Visual Basic 4
R [HTML] Effetto carousel di testo su immagine fissa HTML e CSS 2
Shyson [PHP] Inserire testo nel codice PHP 2
R [PHP] Testo su immagine al passaggio del mouse PHP 2
V [Photoshop] Testo starato Photoshop 1
A [MS Access] Somma Campi se in altro campo presente un determinato testo MS Access 1
G riscrivere testo photoshop Photoshop 1
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
Trapano [PHP] Testo in grassetto quando rilevo modifiche PHP 2
B [PHP] Elimina quindi aggiungi una riga in un file di testo PHP 0
C [PHP] Scrivere testo su immagine PHP 3

Discussioni simili