データベースからデータを取得するリストを作成したいと考えています。そして、リストを二重に表示したいのですが、1列と0.5秒の列に半分のデータがあることを意味します。PHP MySQL と HTML を使用しています。
4 に答える
1
ここでは、すべてを記述せずに一般的なアイデアを示します。結果をループし、途中で現在のリストを終了して新しいリストを開始します。
おそらく中間点を丸める必要がありますが、これを使用して必要なことを行うことができるはずです。CSS を使用して、リストを好きなように配置します。次回はコードを最初に投稿します。
$query = YOUR_QUERY
$count = 0; // Set a counter
$total = mysql_num_rows($query); // Get the total
echo '<ul>';
while ($row = mysql_fetch_array($query)) { // Loop through the query
echo '<li>'.$row['something'].'</li>'; // Output your li
if ($count == ($total / 2) { // If you reach half way, start a new list
echo '</ul><ul>';
}
$count++;
}
echo '</ul>';
于 2012-07-27T09:40:41.167 に答える
0
$returned_dataが連想配列であると仮定すると、
echo '<table>';
foreach($returned_data as $k => $v)
{
echo '<tr>';
echo '<td>'.$k.'</td><td>'.$v.'</td>';
echo '</tr>';
}
echo '</table>';
于 2012-07-27T09:37:56.653 に答える
0
レコードを数えてから、列ごとに必要な行数を計算する必要があります。
$result = mysql_query("SELECT * FROM `my_table` WHERE `foo` = 'bar'");
$num_records = mysql_num_rows($result);
$num_columns = 2;
$rows_per_col = ceil($num_records / $num_columns);
$records = array();
while($row = mysql_fetch_array($result))
{
$records[] = $row;
}
// Now get the columns in two arrays:
$col1 = array_slice($records, 0, ($rows_per_col - 1));
$col2 = array_slice($records, $rows_per_col);
// Now loop over the data:
echo '<div class="col">';
foreach($col1 as $row)
{
echo "\n\t", '<span class="row">', $row, '</span>';
}
echo '</div>';
echo '<div class="col">';
foreach($col2 as $row)
{
echo "\n\t", '<span class="row">', $row, '</span>';
}
echo '</div>';
次に、CSS を追加して列を左にフロートさせ、幅を設定する必要があります。
div.col {
float: left;
padding: 2%;
width: 46%;
}
div.col span.row {
display: block;
line-height: 20px;
}
于 2012-07-27T09:44:42.597 に答える
0
これに使用css
してみてください:
.list-half {
display: inline-block;
float: left; /* to pretend whitespace breaks */
width: 50%;
}
そして出力:
<ul>
<?php foreach ( $data as $value ) { ?>
<li class="list-half"><?php echo $value ?></li>
<?php } ?>
</ul>
をクリアすることを忘れないでくださいfloats
。
于 2012-07-27T09:44:59.563 に答える