我有以下 PHP 函数,它将列出 MySql 表中的用户并打印 HTML 代码,如您所见:
//List All Users From The Database Table In An Array
public function listUsersInArray() {
$sql = "SELECT username FROM user";
$users = array();
if($stmt = $this->conn->prepare($sql)) {
$stmt->bind_result($usrn);
$stmt->execute();
while ($row = $stmt->fetch()) {
$stmt->bind_result($usrn);
$users[] = $usrn;
}
$stmt->close();
return $users;
}
else {
$error = true;
$message['error'] = true;
$message['message'] = "The Users Could Not Stored In Array";
return json_encode($message);
}
}
//Build A Form In Order To Print Out The Users For Deleting
private function createForm($id) {
$form = array( '<form name="delete-user" id="'.$id.'" class="delete-user" method="post" action="#">',
'<input type="hidden" name="user_id" value="'.$id.'" />',
'<fieldset class="user-wrapper">',
'<label for="user" class="user-label">User</label>',
'<input type="text" name="user" class="user" value="'.$id.'" autocomplete="off" readonly="readonly" />',
'</fieldset>',
'<fieldset class="delete-wrapper">',
'<button type="submit" name="delete" class="delete">Delete</button>',
'</fieldset>',
'</form>'
);
$form = implode("",$form);
return $form;
}
//List All Users From Array As Forms For Deleting
public function listUsersForDelete() {
$users = $this->listUsersInArray();
for ($i = 0; $i < sizeof($users) ; $i++) {
while((sizeof($users) <= ($i % 7 == 0 || $i == 0))) {
echo $this->createForm($users[$i]);
$i++;
}
}
}
现在我只需要弄清楚如果表单超过 7 个,如何将所有表单添加到一个 div 中,并且每次遇到 7 的倍数时都这样做。
例如,如果我有 9 个表单,将前 7 个包装在一个 div 中,并将其余的包装在另一个 div 中,如果我有 16 个表单,将前 7 个包装在一个 div 中,接下来的 7 个包装在一个 div 中,然后其余的 2 在另一个 div 中,依此类推......
最佳答案
您建议的代码看起来不错。我唯一建议的是你存储 <form>
首先将代码写入变量,而不仅仅是复制和粘贴它。复制和粘贴很容易出错,尤其是当您以后必须更新代码时。
关于PHP 和 MySql |如果 SQL 行数超过给定数量,则添加额外的 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660462/