php
  • html
  • mysql
  • 2017-11-04 26 views 0 likes 
    0

    私は動的テーブルを作成しようとしています。データはデータベースから得られます。 これまでのところ動作しますが、自分のやり方とは違って、別々のフィールドを持つテーブルを作りたいと思います。これまで マイコード:SQLからPHPで動的テーブルを作成する方法

    <?php 
    
    $result = mysql_query("SELECT buyTime, untilTime FROM users WHERE userName='".$_SESSION["user"]."';"); 
    $num_rows = mysql_num_rows($result); 
    echo("Buy Date"."|Expire Date"); 
    echo "<br />"; 
    echo "<br />"; 
    while ($row = mysql_fetch_array($result)) { 
        echo '<th>'.$row['buyTime'].'</th>'."|".'<th>'.$row['untilTime'].'</th>'; 
        echo "<br />"; 
    } 
    ?> 
    

    結果:

    Click here

    だから私は正しいテーブルではなく、擬似的なものを作ることができますか?

    ありがとうございました:)

    よろしく

    +0

    OT:自分の利益のためにすべての 'mysql'関数を使ってディッチする必要があります(PHP 5.6以降では下落しました)。また、SQLの構築を扱う際には、準備されたステートメントを調べてください。 – IncredibleHat

    答えて

    1

    をHTMLでtable要素を使用し、TBODY要素内にPHPのループのコードを置きます。テーブルを正しく作成する方法。

    <table> 
    <thead> 
        <tr> 
        <th>Buy Date</th> 
        <th>Expire Date</th> 
        </tr> 
    </thead> 
    
    <tbody> 
    <?php 
        $result = mysql_query("SELECT buyTime, untilTime FROM users WHERE userName='".$_SESSION["user"]."';"); 
        $num_rows = mysql_num_rows($result); 
    
        while ($row = mysql_fetch_array($result)) { 
        echo '<tr>'; 
        echo '<td>'.$row['buyTime'].'</td><td>'.$row['untilTime'].'</td>'; 
        echo '</tr>' 
        } 
    ?> 
    </tbody> 
    </table> 
    
    +0

    * ahem * ... SQLインジェクションアラート、またmysql償却アラート...;) – IncredibleHat

    +1

    この場合、彼はテーブルを正しく表示する方法を尋ねています。しかし、彼はいくつかのmysqliを勉強すればいいです。 –

    +0

    はい。私はそれのために何もしない質問や答えにもかかわらず、それのために多くのdownvotesを参照してください。だから、あなたがmysqlとSQLインジェクションについて言及するのを忘れてしまったので、それらの人々からあなたを守りたいと思っていました。あなたの答えは、彼が求めたことをするためのものです。 – IncredibleHat

    1
    <!DOCTYPE html> 
        <html> 
        <head> 
        <style> 
        table { 
         border-collapse: collapse; 
         width: 100%; 
        } 
    
        th, td { 
         text-align: left; 
         padding: 8px; 
        } 
    
        tr:nth-child(even){background-color: #f2f2f2} 
    
        th { 
         background-color: #4CAF50; 
         color: white; 
        } 
        </style> 
        </head> 
        <body> 
    
        <h2>Colored Table Header</h2> 
    
        <table> 
         <tr> 
         <th>Buy Date</th> 
         <th>Expire Date</th> 
         </tr> 
    
         <?php 
    $result = mysql_query("SELECT buyTime, untilTime FROM users WHERE userName='".$_SESSION["user"]."';"); 
    $num_rows = mysql_num_rows($result); 
    
    while ($row = mysql_fetch_array($result)) { ?> 
         <tr> 
    
         <td><?php echo $row['buyTime']; ?></td> 
         <td><?php echo $row['untilTime']; ?></td> 
    
         </tr> 
    <?php } ?> 
    
    
        </table> 
    
        </body> 
        </html> 
    

    注:HTMLテーブルが<table>タグで定義されています。

    各テーブル行は<tr>タグで定義されています。テーブルヘッダは<th>タグで定義されています。デフォルトでは、表の見出しは太字で中央揃えになっています。テーブルデータ/セルは、<td>タグで定義されています。さらに、MySQLは時代遅れです。新しいアプローチを学ぼうとしてください。 w3schoolsで学ぶことができます。

    Good Luck !!!

    +0

    ありがとうございます、美しいですが、複数の行があるときに行を追加しない:S https://image.prntscr.com/image/1e7cAgEmT4q-KJrPZ5Fw8Q.png –

    +0

    あなたはあなたに合わせてCSSを変更することができます欲しいです。ところで、これはプロであり、ラインではなく色で区別する@ReneNikolay –

    関連する問題