统计问题求助    
    
        发布于:2022-01-17 09:50:54
    
            
            #1 ghx111            
               jake你好, 我这边做了一个机票的录入系统,现在要做一个统计的功能,目前放在sae上,已经可以运行。目前要做一个统计的需求,由于对php和speedphp不是很熟悉,请教下以下写法为什么在页面上没有显示。     sql语句在mysql里面执行通过并有数据。ticket.php中     $this->$sql1="SELECT COUNT( 1 ) AS num" + 
"FROM tairticketsub a, tairticket t" + 
"WHERE a.ticketid = t.ticketid" + 
"AND DATE_FORMAT( t.createtime, '%Y-%m-%d' ) = DATE_SUB( CURDATE( ) , INTERVAL 1" + 
"DAY )"; 
$this->results1 = spClass("spModel")->query($sql1);
html中是 
共出了<{$results}>,<{$results1.num}>,<{foreach from=$results1 item=one1}><{$one1.num}><{/foreach}>张票 
请不吝赐教,谢谢。                
                        2014-11-10 16:23:46                    
         
                
            #2 jake            
             $this->results1 = spClass("spModel")->query($sql1);
改成
$results1 = spClass("spModel")->query($sql1);
dump($results1);
$this->results1 = $results1;
看看输出是什么
PS: PHP可以用加号+来链接字符串吗? 估计页面什么都没有是没有打开调试模式,PHP出错也看不到吧?                
                        2014-11-10 16:26:03                    
         
                
            #3 ghx111            
             惭愧,加号是写错了,这个是java的写法,dump出来结果了
mysqli_result Object
(
    [current_field] => 0
    [field_count] => 1
    [lengths] => 
    [num_rows] => 1
    [type] => 0
)
这样写还是不对
共出了 <{foreach from=<{$results[1]}> item=one1}><{$one1.num}>|<{/foreach}>张票,
请问怎么才能输出 [field_count] => 1 ,php比较弱:Q:Q:Q                
                        2014-11-10 16:50:37                    
         
                
            #4 jake            
             为什么dump出来会是mysqli_result Object???框架文件被修改过了吧?
看这个对象的话,你可以能用<{$result1->field_count}>来输出1                
                        2014-11-10 17:02:44                    
         
                
            #5 ghx111            
             已经解决了,首先感谢jake的帮助,错误总结如下:1、查询方法可以不用
spClass("spModel")->query($sql1); 改为$results1 = $tairticket->findSql($sql1); 即可,得到结果为array对象2、sql语句写错了,“.” 号写成了加号3、数组读取方式为$results1[0][znum]
正确的代码如下:
后台//查询统计--昨天共出了多少票
                $sql1=" SELECT COUNT( 1 ) AS znum " ;
        $sql1.=" FROM tairticketsub a, tairticket t " ; 
        $sql1.=" WHERE a.ticketid = t.ticketid " ; 
        $sql1.=" AND DATE_FORMAT( t.createtime,  '%Y-%m-%d' ) = DATE_SUB( CURDATE( ) , INTERVAL 1 " ;
        $sql1.=" DAY ) ";
        $results1 = $tairticket->findSql($sql1);
        $this->znum = $results1[0][znum];
前台
  共出了<{$znum}>张票
                
                        2014-11-11 09:57:33