doubo7131 2014-02-05 03:23
浏览 34
已采纳

如何使用PHP结束记录集?

Here is the code:

<?php
  require'connection.php';

  $cons = mysql_query( 'SELECT Subject FROM tblsubject' );

  $total_rows = mysql_num_rows($cons);
  $counter = 0;
  $fields="";
  while($row = mysql_fetch_array($cons)) {
    if(++$counter == $total_rows) {
$fields .= $row['Subject']. ': { <br/> title: \''.$row['Subject'].'\',<br/> width:     \'20% \' <br/>}<br/>';
  }
  else {
$fields =  $row['Subject'].': { <br/> title: \''.$row["Subject"].'\',<br/> width:    \'20% \' <br/>},<br/>';
   }
  }

  echo $fields;
?>

The code stated above should produce an output like this below:

General: {
  title:'General',
  width: '20%',
},
Math: {
  title:'Math',
  width: '20%',
}

But if the query reaches its last row, the "," should be omitted after the last "}". I'm getting it right but when I echo it outside the while loop, only the two last row on the database are echoed.

Can someone help me with this? Please tell me where I am going wrong. Thank you very much :D I need to echo all the data in the table not just the final two.

  • 写回答

4条回答 默认 最新

  • duandong2562 2014-02-05 03:25
    关注

    Don't even bother with a complicated state checker. Just build an array and then implode it. Automatic "proper" number of commas.

    while($row = mysql_fetch_array()) {
        $array[]= $row['data_you_want'];
    }
    echo implode(',', $array);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值