0

我有一些从 mysql 数据库中提取数据的代码,一切都很好,日期,变量等。我遇到的问题是唯一的整数每次都返回 0。

while($row = mysqli_fetch_array($result)) {
$fufilled = "1";
$flag = $row['flag'];
$shopnumb = $row['Shopnumb'];
$shoptype = $row['Shop_type'];
...

$shoptype并且$shopnumb都返回正确的内容但是 $flag 每次返回 0 即使数据库有 1,1,1,1,0 的 5 行

CREATE TABLE `Shop_data` (
 `Shopnumb` int(15) NOT NULL AUTO_INCREMENT COMMENT 'shop id number',
 `flag` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1=unread 0=read',
 `CID` int(15) NOT NULL COMMENT 'Client this shop belongs to',
 `SID` varchar(50) DEFAULT NULL COMMENT 'identifys which survey to use',
 `comp_date` date DEFAULT NULL COMMENT 'Completion Date',
 `sched_date` date DEFAULT NULL COMMENT 'Scheduled shop date',
 `shop_comp` smallint(1) NOT NULL DEFAULT '0' COMMENT 'shopper submitted report',
 `edit_comp` smallint(1) NOT NULL DEFAULT '0' COMMENT 'Report has been edited',
 `return_shop` smallint(1) NOT NULL DEFAULT '0' COMMENT 'return report to shopper for editing',
 `report_comp` smallint(1) NOT NULL DEFAULT '0' COMMENT 'report ready for client',
 `Shop_type` varchar(50) DEFAULT NULL,
 `Shoploc` varchar(100) DEFAULT NULL,
 `shop_cost` decimal(10,2) DEFAULT NULL COMMENT 'Normal or adjusted cost of shop',
 `shop_reimb` decimal(10,2) DEFAULT NULL COMMENT 'Shopper reimburstment cost',
 `shop_pay` decimal(10,2) DEFAULT NULL COMMENT 'Total cost',
 `shopper_assign` varchar(200) DEFAULT NULL COMMENT 'Identifys which shopper assigned',
 PRIMARY KEY (`Shopnumb`),
 UNIQUE KEY `Shopnumb` (`Shopnumb`)
) ENGINE=MyISAM AUTO_INCREMENT=2252 DEFAULT CHARSET=latin1

我的查询

SELECT * FROM Shop_data WHERE CID='".$_SESSION['CID']."' AND report_comp='1' AND DATEDIFF(CURDATE(), comp_date) <".$lengthoftime." ORDER BY comp_date DESC;

就像我说的,除了旗帜,一切都很好

if 语句

        if ($flag = '0') {
            echo "<td align=\"center\">&nbsp;&nbsp;&nbsp;&nbsp;</td>";
        } else {
            echo "<td align=\"center\">&nbsp;&nbsp;<img align=\"middle\" src=\"/images/flag.png\">&nbsp;&nbsp;</td>";
        }

固定 if ($flag == '0') {

4

1 回答 1

0

该声明

if ($flag = '0') {

是赋值,并且始终为 TRUE(它计算为赋值的值,它是一个字符串)。你需要:

if( ! intval($flag)) {
于 2012-07-27T02:39:34.400 回答