如何使用PHP和OracleSQL将多列合并为一列,使其循环,但被id重复的行分割?
我有代码,但我不能让它像我想要的,要求是使数据我必须重复的数据拥有相同的id只通过一列,虽然从真实的数据库它分开(不同的列),所以这是我的数据如何使用PHP和OracleSQL将多列合并为一列,使其循环,但被id重复的行分割?,php,oracle,oracle-call-interface,Php,Oracle,Oracle Call Interface,我有代码,但我不能让它像我想要的,要求是使数据我必须重复的数据拥有相同的id只通过一列,虽然从真实的数据库它分开(不同的列),所以这是我的数据 number pay_status card_status 021998877 UNPAID ACTIVE 021998875 NULL NOT ACTIVE 021998875 NULL ACTIVE 我想这样改变它: number others 021998877 ACTIVE 021998877 UNPAID 02
number pay_status card_status
021998877 UNPAID ACTIVE
021998875 NULL NOT ACTIVE
021998875 NULL ACTIVE
我想这样改变它:
number others
021998877 ACTIVE
021998877 UNPAID
021998876 NOT ACTIVE
021998875 ACTIVE
现在我可以得到如下输出:
021998877 ACTIVE UNPAID
这是我的输出代码
while ($row = oci_fetch_assoc($stid)) {
printf("<tr><td>%d</td><td>%s</td></tr>\n", $row['no'],
$row['card_status'],$row['pay_status'] );
while($row=oci\u fetch\u assoc($stid)){
printf(“%d%s\n”,$row['no'],
$row['card_status'],$row['pay_status'];
我在数据库中使用PHP和OracleSQL。请帮助,谢谢你,所以我想你是说,如果
卡的状态不为空,那么打印第二行
在这种情况下,这将非常简单
while ($row = oci_fetch_assoc($stid)) {
printf("<tr><td>%d</td><td>%s</td></tr>\n",
$row['no'],
$row['pay_status'] );
if ( $row['card_status'] != 'NULL' ) {
printf("<tr><td>%d</td><td>%s</td></tr>\n",
$row['no'],
$row['card_status'] );
}
}
021998876未激活
需要是021998875未激活
?不是吗?嗯…抱歉,不是这样的。我希望第3列的值以重复ID放置在第2列中,它不取决于数据库的内容我现在正在尝试该代码,但我是否希望让它检查任何列不为null,我如何可以?and如果它被发现为null,则给出字符串“null”或仅仅是“”?因此实际上您有3个以上的列,对吗?除了$row['no']
可以包含NULL Right??是的,它绝对正确,因为不只是卡片状态包含NULL OK,我已经修改了我的答案是的,很好,它工作得很好,但我不知道如何从一列中确定是否为NULL,然后给出字符串“NULL”或只是“”,并将其导出到txt(如果可能的话)
while ($row = oci_fetch_assoc($stid)) {
foreach ( $row as $colname => $value) {
if ( $colname == 'no' ) {
continue; // ignore the key field column
}
$value = $value == NULL ? 'NULL : $value
printf("<tr><td>%d</td><td>%s</td></tr>\n",
$row['no'],
$value );
}
}
}