我有一个代码块,这是工作良好,但问题是…
- 在一个循环中打印'one'引号。
- 第二名是'one'和'two'
- 位居第三
…直到循环执行为止。
我想在第一次只打印一个,第二次只打印第二个引号,以此类推,直到循环执行。这是我的代码块
<div class="records round">
<?php
//show records
$query = mysqli_query($con,"SELECT table2.col2 AS a,table1.col2 AS b, table1.col1 AS c, table1.q_url AS d
FROM {$statement}
LIMIT {$startpoint} , {$limit}");
$output='';
$Authorname='';
$count=1;
while ($row = mysqli_fetch_array($query)) {
$Authorname =$row['a'];
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url=explode('/',$url);
?>
<div class="record round"><?php echo $count; $output .='<a href="http://localhost/quotes/'.$url[5].'/'.$row['d'].'.html">';
echo $output .=$row['b'].'</a>';?></div>
<?php
$count++;
}
?>
</div>
您在这里做的是将字符串附加到$output变量,以便在每次迭代中保持附加。在执行新的迭代之前,$output变量必须为空。
这就是你得到这样输出的原因。
所以为了避免这种情况,你必须在循环中重新初始化$output变量。检查下面的代码:
while ($row = mysqli_fetch_array($query)) {
$output='';
$Authorname =$row['a'];
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$url=explode('/',$url);
?>
<div class="record round"><?php echo $count; $output .='<a href="http://localhost/quotes/'.$url[5].'/'.$row['d'].'.html">';
echo $output .=$row['b'].'</a>';?></div>
<?php
$count++;
}