PHP 和 MySql |如果 SQL 行数超过给定数量,则添加额外的 DIV

标签 php mysql count

我有以下 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/

相关文章:

php - PDO 无法将行移动到不同的数据库

PHP:set_exception_handler 不适用于 set_error_handler 回调中抛出的错误

php - 为什么我不能提交包含函数 fgets() 的文本?

php - 函数内的 jquery ajax post 不起作用

mysql - 使用entitframework将excel数据上传到mysql数据库

php - Jquery Ajax 无法将数据定向到服务器

php - 如何在 PHP 或 Jquery 中从前端更改数据库值?

PHP 和字符串字数统计

r - 根据 R 中另一列的值选择列

mysql - 用于检索选票的 SQL 语法奇怪地遗漏了一些结果