【问题标题】:Query formatting help (PHP, MySQL) Legacy code查询格式化帮助(PHP、MySQL)遗留代码
【发布时间】:2021-05-24 03:52:42
【问题描述】:

此代码用于显示内容列表...

$result= mysql_query("
SELECT DISTINCT 
m.username, m.asdf_txt, m.week_txt,  
   FROM table m  
      WHERE m.username='$user' ORDER BY m.week_txt ASC") 
or die(mysql_error($link));

while($row = mysql_fetch_array($result)) { 
    echo "<br>" . $row['week_txt'] . ""; 
    echo "<br>" . $row['asdf_txt'] . ""; 
} 
echo "<br>"; echo "";

它最终显示

第 1 周
asdfasdf1

第 1 周
asdfasdf2

第 2 周
asdfasdf3

第 2 周
asdfasdf4

但我想改为...

第 1 周
asdfasdf1

asdfasdf2

第 2 周
asdfasdf3

asdfasdf4

任何建议都会有所帮助。我正在寻找一种将写入代码(php/mysql 文件)本身的解决方案。请记住,我之前已经用以下代码以更迂回的方式解决了这个问题......

sed 's/<br>Week 1\b//2g; s/<br>Week 2//2g;'

【问题讨论】:

  • 警告: mysql_* 扩展自 PHP 5.5.0 起已弃用,自 PHP 7.0.0 起已被删除。相反,应该使用mysqliPDO_MySQL 扩展名。在选择 MySQL API 时,另请参阅 MySQL API Overview 以获得更多帮助。

标签: php mysql sql legacy


【解决方案1】:

试试这个

$prev = "";
while($row = mysql_fetch_array($result)) {
    if (strcmp($row['week_text'],$prev)){
       echo "<br>" . $row['asdf_txt'] . "";
    } else {
       echo "<br>" . $row['week_txt'] . ""; 
       echo "<br>" . $row['asdf_txt'] . "";
    }
    $prev = $row['week_text']; 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 2011-07-19
    • 2011-04-28
    相关资源
    最近更新 更多