duanjunjie0196 2014-04-17 16:37
浏览 97
已采纳

来自Mysql的ISNULL没有通过PHP在网页上显示结果

I'm working on a server based POS and I have a php page that displays the client current money on a table, I have 2 tables (Mov_ctes and Clientes), it works fine when I add WITH ROLLUP on the mysql query, It displays the Total but without A Name (NULL value), so I used

IFNULL(Clientes.Nombre,'TOTAL')

so It could change the NULL value to TOTAL, I entered the whole command on mysql and worked fine, however if I enter the same query via PHP it doesnt output the "Nombre" column

heres my code and a Mysql screenshot

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
@import url("source/style.css");
-->
</style>
</head>
<body>
<?php
session_start();
$log=$_SESSION['sesion'];
$nombr=$_SESSION['username'];
if($log==1)
{
$con=mysqli_connect("localhost","user","pw","My_db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Mysql query 
$result = mysqli_query($con,"SELECT Clientes.cliente_id,IFNULL(Clientes.Nombre,'TOTAL'), sum(Mov_ctes.Movimiento) FROM Clientes NATURAL LEFT JOIN Mov_ctes GROUP BY Nombre WITH ROLLUP");
echo "<table id='hor-minimalist-b' summary='Employee Pay Sheet'>";
echo "<thead>";
echo "<tr>";
echo "<th scope='col'>ID</th>";
echo "<th scope='col'>Nombre</th>";
echo "<th scope='col'>Saldo</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while($row = mysqli_fetch_array($result))
{echo "<tr>";
echo "<td>" . $row['cliente_id'] . "</td>";
echo "<td>" . $row['Nombre'] . "</td>";
echo "<td>" . $row['sum(Mov_ctes.Movimiento)'] . "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
mysqli_close($con);
}
?>

Mysql screenshot

  • 写回答

1条回答 默认 最新

  • dongshuao2309 2014-04-17 16:39
    关注

    You need an alias for the column, otherwise the column name will be IFNULL(Clientes.Nombre,'TOTAL'):

    SELECT IFNULL(Clientes.Nombre,'TOTAL') AS Nombre
    ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启