Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在html中动态添加分页符,使其具有可变大小的可变节数_Php_Jquery_Html_Css_Page Break - Fatal编程技术网

Php 在html中动态添加分页符,使其具有可变大小的可变节数

Php 在html中动态添加分页符,使其具有可变大小的可变节数,php,jquery,html,css,page-break,Php,Jquery,Html,Css,Page Break,我正在尝试解决当前的问题,我需要一些帮助: 从使用php的数据库中,页面必须加载X个部分,每个部分顶部有一些内容,底部有一个表和一些内容,表可以有0到任意数量的行,这取决于数据库中以前的内容。 除了表格之外,其余内容的大小没有变化 由于表格的原因,我无法事先知道每个部分的大小,通常至少有30个部分 这一页必须是打印友好的,除了分页符,一切都已经工作 我需要找到一种方法来动态添加分页符,以便在不在页面之间剪切部分的情况下将其放入页面中 代码大约有400行,所以在这里发布是不切实际的,但是节结构是这

我正在尝试解决当前的问题,我需要一些帮助: 从使用php的数据库中,页面必须加载X个部分,每个部分顶部有一些内容,底部有一个表和一些内容,表可以有0到任意数量的行,这取决于数据库中以前的内容。 除了表格之外,其余内容的大小没有变化

由于表格的原因,我无法事先知道每个部分的大小,通常至少有30个部分

这一页必须是打印友好的,除了分页符,一切都已经工作

我需要找到一种方法来动态添加分页符,以便在不在页面之间剪切部分的情况下将其放入页面中

代码大约有400行,所以在这里发布是不切实际的,但是节结构是这样的:


名称:名称 ID:编号

  1: 2: 3: 4:   1. 2. 3. 4. 某物1:某物

某物2:数字 Something3:number


这是PHP代码示例,如果有不清楚的地方,请告诉我。我尝试使用自解释变量名

<?php

    $PAGEBREAK_LENGTH = 1000; // Add a page break every 1000 characters.
    $lengthTracker = '';

    while ($row = odbc_fetch_array($res)){
        $lengthTracker .= $row['article']; 
        $lengthSize = strlen($lengthTracker);

        if ($lengthSize > $PAGEBREAK_LENGTH) {
            echo '<div class="page-break">This is a page break</div>';
            $lengthTracker = ''; // Reset length tracker since we just added a break
        }

        echo '<div class="article">';
        echo $row['article'];
        echo '</div>';
    }

?>

如果在回送文章之前包含
If($lengthSize>$PAGEBREAK\u LENGTH)
,则倾向于“更频繁地”包含分页符。如果在回送文章之后包含
If
语句,则分页符的频率会降低(因此可能会有更大的文本块)


尝试这两种方法,看看你喜欢哪种风格,因为你(大概)不能在文章的中间包含分页符。

我发现我的问题不是由错误的分页符引起的,而是我在一个元素中有负的边距,通过删除它,破坏了分页符的整个工作方式,它工作正常。

这可能由PHP或JS代码处理,因此请包含您的PHP代码。您在PHP中要做的是。。。您可能在
循环中为
输出节,对吗?因此,您只需跟踪循环次数,并在每次
$i%2==0时添加分页符(如果您希望每隔一个循环进行一次分页符)。这有意义吗?是的,有意义,谢谢你的回复,但这没有帮助,因为有时我必须在1个循环后分页符,有时在5个或3个或任何数字后分页符,因为节的大小改变了…我可以把PHP代码放在哪里?对于我在firefox上得到的答案来说,这是一个巨大的挑战,但chrome将我的所有部分一分为二,即使整个站点中的每个dom都是浮动的:无和位置:相对的,所有部分都设置为内部分页符:avoid@RicardoMelo我必须看到一个垃圾桶才能帮上忙。听起来你可能有预设的高度或其他东西。这是一个非常奇怪的问题,每次分页符后拆分的大小都会翻倍,我用一个非常不优雅的东西进行了修复,每次分页符后,我都添加了一个最小高度为1cm*分页符数的部分,现在它在chrome上也可以正常工作