[英]Create checkboxes(table) from mysql table
我想將詳細信息從MySQL數據庫寫到復選框。 復選框結構應看起來像6 * 6正方形。 (一行六行,一列六行)。
MySQL數據庫看起來像:
|id|package|
|1 |HEI |
|2 |TAG |
|...|
我寫了這個功能(用PHP)
function getPackages3()
{
$con = openLockMySQLdb('labcom', 'packages', 'READ');
$q = mysql_query("SELECT id, package FROM packages ORDER BY package ASC", $con);
while($row = mysqli_fetch_array($q)) {
$packages .= '<ul>' . '<li>' . '<label>' . '<input type="checkbox" class="packages_2" id="tab_packages" name="' . $row['package'] . '" value="' . $row['id'] . '-' . $row['package'] . '">' . '<p class="checkbox_label">' . $row['package'] . '</p>' . '</label>' . '</ul>' . '</li>';
}
closeUnlockMySQLdb($con);
return $packages;
}
要進入復選框,它的工作,但我不能但在一排6和一列6。 所以我不能從復選框做一個正方形。
我想您的數據庫表包含6 * 6 = 36個包條目,對不對? 那么唯一的問題是每第6個條目后都要有一種“換行”。
在這種情況下,我更喜歡CSS解決方案,並使用nth-of-type()
選擇器。 但是您需要將<ul>
標記移出循環:
function getPackages3()
{
$con = openLockMySQLdb('labcom', 'packages', 'READ');
$q = mysql_query("SELECT id, package FROM packages ORDER BY package ASC", $con);
$packages = '<ul>';
while($row = mysqli_fetch_array($q)) {
$packages .= '<li>' . '<label>' . '<input type="checkbox" class="packages_2" id="tab_packages" name="' . $row['package'] . '" value="' . $row['id'] . '-' . $row['package'] . '">' . '<p class="checkbox_label">' . $row['package'] . '</p>' . '</label></li>';
}
$packages .= '</ul>';
closeUnlockMySQLdb($con);
return $packages;
}
CSS會像這樣:
li {
float: left;
}
li:nth-of-type(6n) {
clear: left;
}
即使它們使用混合庫,我仍會保留對數據庫函數的調用(請參閱@jeff的注釋),因為這是一個不同的問題,但是要使其正常工作,您還必須解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.