2010-11-28 8 views
0

を生成することができ、列と値の例です。printf/sprintfどのように私はここに表形式でPHPスクリプトからの出力

 
+----------------------------------------------------------------+ 
| rate | conn/s | req/s | replies/s avg | errors | net io (KB/s) | 
+----------------------------------------------------------------+ 
| 100 | 99.9 | 99.9 | 99.7   | 0  | 45.4   | 
| 120 | 119.7 | 119.7 | 120.0   | 0  | 54.4   | 
| 140 | 139.3 | 139.3 | 138.0   | 0  | 63.6   | 
|> 160 | 151.9 | 151.9 | 147.0   | 0  | 69.3   | 
| 180 | 132.2 | 129.8 | 137.4   | 27  | 59.6   | 
| 200 | 119.8 | 117.6 | 139.9   | 31  | 53.9   | 
+----------------------------------------------------------------+ 
+0

がどこ閲覧する:正しい値を使用してdbnametablenameを置き換え、このコードを使用しますか?モノスペースのフォント環境(コマンドライン)やファイルに書き込まれていますか?ブラウザ? – deceze

+1

「宿題」タグもあり、それを使用することは恥ずかしいことではありません。 –

+0

これはファイルに書き込まれるため、この「結果」形式の出力がファイルは実行サイクルごとに一度だけ永続化されます。 – kamal

答えて

0

ルック:

printf('| %3s | %-5.1f | …', $rate, $conns, …); 
0

はprintf関数は、()ここにあなたの友達です。

<?php 
function printRows($rows){ 
    $br = "+----------------------------------------------------------------+"; 
    $he = "| rate | conn/s | req/s | replies/s avg | errors | net io (KB/s) |"; 

    //Print out the header 
    print "$br\n$he\n$br\n"; 

    //Iterate through the rows 
    foreach($rows as $row){ 
     printf("|[%-5s] | [%-7s] | [%-5s] | [%-13s] | [%-6s] | [%-13s] |", 
       $row[0],$row[1],$row[2],$row[3],$row[4],$row[5] 
      ); 

    } 

    //Print the end ascii-art 
    print "$br\n"; 
} 
?> 
1

これをブラウザに表示し、MySQLからデータを取得すると仮定します。

<html> 
<head><title>Result as Table</title></head> 
<body> 
<?php 
$db_host = 'localhost'; 
$db_user = 'root'; 
$db_pwd = ''; 

$database = 'dbname'; 
$table = 'tablename'; 

if (!mysql_connect($db_host, $db_user, $db_pwd)) 
    die("Can't connect to database"); 

if (!mysql_select_db($database)) 
    die("Can't select database"); 

// sending query 
$result = mysql_query("SELECT * FROM {$table}"); 
if (!$result) { 
    die("Query to show fields from table failed"); 
} 

$fields_num = mysql_num_fields($result); 

echo "<h1>Table: {$table}</h1>"; 
echo "<table border='1'><tr>"; 
// printing table headers 
for($i=0; $i<$fields_num; $i++) 
{ 
    $field = mysql_fetch_field($result); 
    echo "<td>{$field->name}</td>"; 
} 
echo "</tr>\n"; 
// printing table rows 
while($row = mysql_fetch_row($result)) 
{ 
    echo "<tr>"; 

    // $row is array... foreach(..) puts every element 
    // of $row to $cell variable 
    foreach($row as $cell) 
     echo "<td>$cell</td>"; 

    echo "</tr>\n"; 
} 
mysql_free_result($result); 
?> 
</body></html>