统计问题求助

#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

#6 jake

顺道看看这个 http://www.speedphp.com/thread-3758-1-1.html

2014-11-11 10:10:43