我正在研究网站的分页,我到了需要突出显示页面编号的位置。
我在这条线路上的语义很难,更具体地说是**之间的内容。整个代码也是如此。
请注意**不是代码的一部分。
任何人都可以帮助将这条线放在一起。
<? $saida .='<li><a'.**if $i == $_GET['page'] echo 'class="active"';**.'href="?page='.$i.'">'.$i.'</a></li>'; ?>
这是我的整个代码
<?php
function montaTexto($texto){
$texto = str_replace("<hr>","<hr />",$texto);
$texto = str_replace("<hr/>","<hr />",$texto);
$texto = explode('<hr />',$texto);
$x = 0;
foreach($texto as $s =>$v){
$x++;
$texto[$x] = $v;
}
if (!empty($_GET['page'])){
$saida = $texto[$_GET['page']];
} else {
$saida = $texto[1];
}
if ($x > 1){
$saida .= '<div class="pagination bottom">
<p>-'.strip_tags($categoria['titulo_topo']).'-</p>
<ul>';
for ($i = 1; $i <= $x; $i++){
$saida .='<li><a'. if $i == $_GET['page'] echo 'class="active"'; .'href="?page='.$i.'">'.$i.'</a></li>';
}
$saida .='</ul>
<p><a href="?page='.($x).'">>></a></p>
</div> ';
}
return $saida;
}
?>
答案 0 :(得分:1)
您需要一个三元条件运算符:
$saida .='<li><a'. ($i == $_GET['page'] ? ' class="active"' : '') .' href="?page='.$i.'">'.$i.'</a></li>';
您可以详细了解here。
编辑修正了一个错误:)
测试:
$ cat paging.php
<?php
$_GET['page'] = '5';
for ($i = 0; $i < 10; $i++) {
$saida .='<li><a'. ($i == $_GET['page'] ? ' class="active"' : '') .' href="?page='.$i.'">'.$i.'</a></li>' . "\n";
}
var_dump($saida);
$ php paging.php
string(345) "<li><a href="?page=0">0</a></li>
<li><a href="?page=1">1</a></li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a class="active" href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li><a href="?page=8">8</a></li>
<li><a href="?page=9">9</a></li>
"