gpt4 book ai didi

php - 从mysql的mediumtext字段中提取一部分文本,用php制作turn.js书页

转载 作者:行者123 更新时间:2023-11-30 01:15:12 25 4
gpt4 key购买 nike

我正在使用turn.js和自定义 php 代码来加载特定类别的 joomla 文章以制作活页簿...它工作正常,直到我一页有一篇文章。我添加/编辑文章,然后保存它,然后在书页上查看它...这是一项繁琐的任务...现在假设我在 joomla 文章中拥有一本书的所有内容,并且我想动态加载一部分将其作为页面来制作书页,依此类推,制作页面直到文章结尾...如果我只有没有固定行数的文本,这似乎是可行的。但问题是内容也可以有图像和标题...那么我如何根据内容动态改变要为单个页面提取的文章部分以避免书页溢出...

这是这本书的工作代码,其中一页有一篇文章......

<?php  
//get total pages code from uncategorized (default) category. (id=2)
//state 1 means published -2 for trashed
$qry="SELECT count(*) FROM `sdad_content` WHERE `catid`= '2' and `state` ='1' ";
$get_db->setQuery($qry);
$total_pages=$get_db->loadResult();

if($total_pages){
$qry="SELECT `id` FROM `sdad_content` WHERE `catid`= '2' AND `state`='1' ORDER BY `id`";
//echo "<< $qry >>";
$get_db->setQuery($qry);$get_db->query();
$total=$get_db->getNumRows();
if ($total >= 1 ) { //execute this only if we have some results
$ids = $get_db->loadAssocList();
}
}

//echo $total_pages;

for($i=0; $i<$total_pages; $i++){

$qry="SELECT `introtext` FROM `sdad_content` WHERE `catid`= '2' AND `id`= '".$ids[$i]['id']."'";
$get_db->setQuery($qry);
$cover = $get_db->loadResult();
if($i%2==0){
$class='even';
$pnoclass="pnoright";
}else{
$class='odd';
$pnoclass="pnoleft";
}
echo '<div class="text '.$class.' "> <div class="page"> '.$cover;
echo '<div class="'.$pnoclass.' "> </div>';
echo '</div> </div>';

}


//code for back cover

//adjusting the last odd page if ends at odd insert a page to make it even
if($total_pages%2!=0){
echo '<div class="text odd "> <div class="page">';
echo '<div class="pnoleft"></div>';
echo '</div> </div>';
}

echo '<div class="text even "> <div class="page"> '.$covers[1]["introtext"];
echo '<div class="pnoright"></div>';
echo '</div> </div>';
echo '<div class="cover"> '.$covers[3]['introtext'].' </div>';
?>

最佳答案

我强烈建议你简化代码,这么多mysql查询没什么用...

我的报价(以同样的方式工作):

<?php
$qry="SELECT `introtext` FROM `sdad_content` WHERE `catid`= '2' AND `state`='1' ORDER BY `id`";
$get_db->setQuery($qry);
$results = $get_db->loadObjectList();
if (count($results)){
foreach($results as $key => $item){
if($key%2==0){
$class='even';
$pnoclass="pnoright";
} else {
$class='odd';
$pnoclass="pnoleft";
}
echo '<div class="text '.$class.' "> <div class="page"> '.$cover;
echo '<div class="'.$pnoclass.' "> </div>';
echo '</div> </div>';
}
}
?>

更少的代码,只有 1 个查询(插入 N 个)和相同的结果:)

关于php - 从mysql的mediumtext字段中提取一部分文本,用php制作turn.js书页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com