Mysql
 sql >> Database >  >> RDS >> Mysql

Stampa i risultati di una query SELECT come testo preformattato in PHP?

sprintf è tuo amico, se devi avere un output a larghezza fissa non HTML.

ETA:

//id: integer, max width 10
//code: string max width 2

$divider=sprintf("+%-10s+%-13s+",'-','-');

$lines[]=$divider;
$lines[]=sprintf("|%10s|%13s|",'id','countryCode'); //header
$lines[]=$divider;

while($line=$records->fetch_assoc()) {
    //store the formatted output
    $lines[]=sprintf("| %10u | %2.2s |", $line['id'],$line['code']);
}
$table=implode("\n",$lines);
echo $table;

Se vuoi stampare immediatamente invece di memorizzare i risultati, usa printf invece- stessa sintassi. C'è un ragionevole tutorial PHP (s)printf qui .