mysql.com がヘルプ ページで使用しているものと同様の ASCII レイアウトを使用して、MySQL レコードセットをブログ投稿にすばやく表示したいと考えています。ワードプレス v2.7 を使用しています。何か案は?また、構文の強調表示に wp-syntax を使用していることも付け加えておく必要があります。つまり、実際には、関心のある ASCII を生成しているだけです。
3 に答える
1
次のようなことを意味する場合
+----+------+ | | ID | 名前 | +----+------+ | | 1 | ボブ | | | 2 | メアリー | | | 3 | ジェーン | | | 4 | リサ | リサ | +----+------+
コマンドラインでインタラクティブモードでクエリを実行すると結果がフォーマットされるため、MySQL コマンドラインからクエリを実行するだけで十分です。次に、それらをコピーしてブログ投稿に貼り付け<pre>
、必要に応じて などで囲みます。
于 2009-03-04T00:02:47.923 に答える
0
あなたが話している ASCII は、MySQL コマンドライン クライアントがその結果をレイアウトする方法です。
mysql> select task_nextrun,task_name from pref_task;
+--------------+-----------------+
| task_nextrun | task_name |
+--------------+-----------------+
| 1235999760 | datacache_clean |
| 1236002760 | process_stats |
+--------------+-----------------+
2 rows in set (0.00 sec)
mysql>
コマンドを MySQL コマンド ライン クライアントに送信するだけです。
于 2009-03-04T00:03:58.480 に答える
0
コマンドライン クライアントを呼び出さずに実行したい場合は、PHP での方法を次に示します。これはかなり大雑把なコードであり、テストしていないことに注意してください。ほとんどの場合、プロセスを説明しようとしているだけです。また、すべてを左揃えにします。mysql クライアントは数字を右揃えにしてエミュレートすると思いますが、もう少し作業が必要ですが、難しいことはありません。
$resultset
mysqli_result のfetch_all()
関数のようなものを使用して、という名前の連想のみの配列にレコードをフェッチしたと仮定します。
// determine maximum value lengths for each column
foreach ($resultset as $result)
{
foreach ($result as $col => $val)
{
if (strlen($val) > $max_length[$col])
{
$max_length[$col] = strlen($val);
}
}
}
// construct border lines
foreach ($max_length as $col_length)
{
$border_line .= '+'.str_repeat('-', $col_length+2);
}
$border_line .= "+";
// print header
print $border_line."<br />\n";
foreach ($max_length as $col_name => $col_length)
{
print '| '.str_pad($col_name, $col_length, ' ').' |';
}
print "<br />\n";
print $border_line."<br />\n";
// print data
foreach ($resultset as $result)
{
foreach ($result as $col => $val)
{
print '| '.str_pad($val, $max_length[$col], ' ').' |';
}
print "<br />\n";
}
print $border_line."<br />\n";
于 2009-03-04T00:14:14.463 に答える