0

mysql dbからデータをプルするコードがあり、日付、変数など、すべてがうまくプルされています。私が抱えている問題は、整数が毎回0を返すことだけです。

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

$shoptypeどちらも正しいコンテンツを$shopnumb返しますが、データベースの5行が1,1,1,1,0であっても、$flagは毎回0を返します。

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 に答える