0

したがって、この PHP コードは、データベースのすべてのテーブル データを Web ページに出力します。

<?php
$hostname = '127.0.0.1:3306';        
$dbname   = 'login'; // Your database name.
$username = 'root';             // Your database username.
$password = '';                 // Your database password. If your database has no password, leave it empty.

mysql_connect($hostname, $username, $password) or DIE('Connection to host is failed, perhaps the service is down!');
mysql_select_db($dbname) or DIE('Database name is not available!');
$query="SELECT * FROM markers";
$result=mysql_query($query);

$fields_num = mysql_num_fields($result);
echo "<table border='2'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
    $field = mysql_fetch_field($result);
    echo "<td>{$field->name}</td></div>";
}
echo "</tr>\n";
// printing table rows

while($row = mysql_fetch_row($result))

{
    echo "<table>";
    echo "<tr>";

    echo "<td>$row[0]</td>";
    echo "<td>$row[1]</td>";
    echo "<td>$row[2]</td>";
    echo "<td>$row[3]</td>";
    echo "</tr>\n";
    echo "</table></div>";

}
?>

しかし、本質的にそれがしていることはそれです。正しくフォーマットされていません。このようになります。

フォーマットされていないテーブル

私がやりたかったことは、この表を Web ページのちょうど中央に配置することです。派手な境界線 (曲線のエッジ、素晴らしいフォント) を与えます。

4

6 に答える 6

0

使用する

echo "<table>";
while($row = mysql_fetch_row($result))

{
    echo "<tr>";
    echo "<td>$row[0]</td>";
    echo "<td>$row[1]</td>";
    echo "<td>$row[2]</td>";
    echo "<td>$row[3]</td>";
    echo "</tr>\n";
}
echo "</table>";

次に、ドキュメントの head で次のコードを使用します。

<style>
table {
margin: 0 auto;
width: 50%;
}
</style>

テーブルを正しく中央に配置するには、テーブルの幅を設定する必要があります。それ以外の場合は機能しません。

于 2013-06-07T10:04:43.987 に答える
0

2 つのループ (最初のループの内側に 2 つ目) が必要です。

$result = mysqli_query('your sql');
// begin table, only once
echo '<table>';
// use thead for the table header :)
echo '<thead>';
for($i=0; $i<$fields_num; $i++)
{
    $field = mysqli_fetch_field($result);
    echo '<th>'.$field->name.'</th>';
}
echo '</thead>';
echo '<tbody>';
// 1st loop, each rows
while($row = mysqli_fetch_assoc($result))
{
    // each rows start with  <tr> / ends with </tr>
    echo '<tr>';
    // 2nd loop, each field
    foreach($row as $field => $value)
    {
        // you can also add class name in each case of your table, to add custom style
        // for each field in your css
        echo '<td class="'.$field.'">'.$value.'</td>';
    }
    echo '</tr>';
}
echo '</tbody>';
echo '</table>';
于 2013-06-07T10:08:35.017 に答える
0

ヘッダーは常に同じであるため、テーブルヘッダーをループに入れる必要はありません。ヘッダーの場合、これを試すことができます:

<table border="1" align="left">
<tr>
<th>Employee ID</th>
<th>Designation ID</th>
<th>First Name</th>
</tr>
if(!result)
while($row = mysql_fetch_row($result))
{
   <tr>
           <td><?php $row[0];?></td>
   </tr>
 } 
</table>
于 2013-06-07T09:46:45.410 に答える