如何防止从SQL语句中显示一些数据

时间:2015-07-24 08:40:57

标签: php mysql

我正在为几家汽车公司开展一个大项目,开发和照顾该网站。 问题是我已经完成了已经完成的网站,其中写得非常糟糕,但除此之外,还需要有许多规则才能使网站正常工作。

数据存储在数据库中,并且使用sql语句将数据传输到站点,执行操作并最终在屏幕上显示。 大多数情况下,我只是将mysql结果集转换为数组,并通过foreach循环在表中显示它们。 这就是问题, 每一行都有自己的状态,数据按其状态显示(例如:如果status20,则屏幕上不会显示,但如果status是除了一个状态之外,1然后显示该行。它有两个条款需要填写才能让他展示。如果显示status=8DATE_ADD(column1,INTERVAL + 30 day)>CURDATE()。但这并不奏效。始终显示状态为8的行。 我如何阻止他完全不显示。我的脚本中有PHP if if循环

if($value[11]==8 and $value[21]>$value[22] ){ 
    $value[11]=50//not shown;
}

但这也不起作用。 ($value[11]=status $ value[21]=DATE_ADD part$value[22]=CURDATE()
请帮忙.Txx提前

 SELECT d1.VIN, d1.brand, d1.make_fin, DATE_FORMAT( d1.dat_ser ,'%d.%m.%Y'), 
        d1.Partner, d1.adress , d1.mail, d1.place, d1.Tel,d1.Mob, d1.uniq,
        d1.idm01_statusi_a,d2.statusname , d1.EMail , DATEDIFF(CURDATE() , d1.dat_ser),
        d1.dat_ser, DATEDIFF(table2.OdgovorDtm, CURDATE() ) , d1.ID_p01, d2.colro, d2.font_color,
        d1.ID_p01,CURDATE(), 
        DATE_ADD(table2.OdgovorDtm,INTERVAL + 30 DAY),
        table2.OdgovorDtm
    FROM table1 as d1 INNER JOIN table2 
        ON d1.ID_p01 = table2.ID_p01
    LEFT JOIN  m01_statusi_a as d2 
        ON d1.idm01_statusi_a = d2.idm01_statusi_a  
    WHERE orgidf in(SELECT d3.orgid FROM u1_org d1 INNER JOIN table3 d2 ON 
       ( d1.idu1 = d2.idu1 ) INNER JOIN lo360.u1_org d3 ON 
       ( d2.idu2 = d3.idu1 ) where d1.orgid = 'HR11338') 
       and d1.idm01_statusi_a in (1, 2, 3, 4, 5, 6, 7,8,9 )
       and 1 = 1 and 1 = 1 and 1 = 1 and 1 = 1 and d1.IDBRAND in
       ( 1, 2, 3 ) and 1=1 ORDER BY d1.dat_ser ASC LIMIT 0, 25

0 个答案:

没有答案