0

mysql データベース クエリから出力される 1 単語のテキスト項目の量が可変です。

それらを見やすくし、div で審美的な方法で広げるために、私はそれらをテーブルに入れることができると考えました。

私はphpを使用して出力を配列にポップできると考え、配列内の要素の数に基づいて、制御ステートメントを使用してそれに応じてフォーマットを変更できます。

ただし、いくつかの調査を行ったところ、コンテンツとレイアウトを別々に保つ必要があるため、書式設定にテーブルを使用するのは良くないと聞きました。

この場合、それは本当に当てはまりますか?もしそうなら、5、10、または 20 個の要素があるかどうかわからない場合、div で望ましいレイアウトを作成するにはどうすればよいですか?

4

3 に答える 3

3

データセットが 1 つの単語または短いフレーズ (カテゴリのリストなど) の長いリストのようなものである場合、リストが最も適切なマークアップです。このcolumnsプロパティを使用すると、テーブルに似たものを取得できます。

http://jsfiddle.net/b8Vw5/ (ショート、ミディアム、ベリーロングの 3 つのリストを表示)

ul {
    -webkit-columns: 3; /* I think I got all of the prefixes here... */
    -moz-columns: 3;
    -o-columns: 3;
    columns: 3;
    padding-left: 0;
}

li {
    list-style-type: none;
}
于 2012-12-22T04:20:12.560 に答える
2

人々が「フォーマットにテーブルを使用するのは悪い」と言うとき、CSSを使用するのではなく、幅/高さが設​​定された空のテーブルセルを「パディング」として使用するという古代の手法を指します。要素にはまったく問題はありません<table>

とは言うものの、あなたが単語のリストである場合、それらをリストに入れることは意味的に意味があります。そのためには、次のCSSを試してください。

#mylist {list-style:none}
#mylist>li {
  display:inline-block;
  width:100px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

次に、HTML出力を次のようにします。

<ul id="mylist">
  <li>Word</li>
  <li>Another</li>
  <li>Derp</li>
  <li>Blah</li>
  <li>UNICORNS!</li>
  ...
</ul>
于 2012-12-22T02:53:12.030 に答える
2

クエリをテーブルに配置する方法の例を次に示します。

$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
        if ($mysqli->connect_errno)
        {
            echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
            $mysqli->close();
        }

    $values = $mysqli->query("YOUR SELECT GOES HERE");
    $cols = 3;
    $i =1;
    echo "<table>".PHP_EOL;
    echo "<tr>".PHP_EOL;
while($row = $values->fetch_assoc())
    { 

    if (is_int($i / $cols))
        {
            echo "<td >".PHP_EOL;
            //what ever you want to include goes here
            echo "</td>".PHP_EOL;
            echo "</tr>".PHP_EOL;
            echo "<tr>".PHP_EOL;
        }
        else
            {
                echo "<td >".PHP_EOL;
                //what ever you want to include goes here
                echo "</td>".PHP_EOL;
            }
            $i++;
    }
        echo "</tr>".PHP_EOL; 
        echo "</table>".PHP_EOL;

$cols 変数で行数を設定できます

于 2012-12-22T03:32:23.323 に答える