0

每个人。我有这样的代码:

require_once('class_mysql.php');
$mysql=new class_mysql();

$query="SELECT rate,count(id) as cnt FROM pubgraph.votes WHERE vote=1 GROUP BY rate;";
$result=$mysql->querySelect($query,'rate');

$date_query = "SELECT max(dt), '1' as v_virtual from pubgraph.votes";
$date_result = $mysql->querySelect($date_query,'v_virtual');


$res=$result[$_GET['vote']]['cnt']?$result[$_GET['vote']]['cnt']:0;


print $res;

你能给我解释一下这个字符串吗?

 $res=$result[$_GET['vote']]['cnt']?$result[$_GET['vote']]['cnt']:0;

我需要将 $date_result 传递给这个字符串。谢谢。

这是我的 javasript 代码: $(document).ready(function() {

    getyes();
    function getyes() {
        $("#yescnt").load("ajax_vote.php?vote=1");
        $("#nocnt").load("ajax_vote.php?vote=2");
        $("#date").load("ajax_vote.php?date=1");
        t=setTimeout(function() { getyes(); },5000);
    }

});
4

3 回答 3

1

这只是 if else 条件。以其他方式你可以这样写

if($result[$_GET['vote']]['cnt']){
   $res = $result[$_GET['vote']]['cnt'];
}else{
   $res = 0;
}

如果您想将 $date_result 分配给此变量,则可以使用上述条件并相应地分配值。

我觉得在您的情况下,您必须在代码中添加 if else 条件,例如

  <?php
  require_once('class_mysql.php');
  $mysql=new class_mysql();
  $res = '';
  if(isset($_GET['date'])){
    $date_query = "SELECT max(dt) as mxdate, '1' as v_virtual from pubgraph.votes";
    $result = $mysql->querySelect($date_query,'v_virtual');
    $res=$result[$_GET['date']]['mxdate']?$result[$_GET['date']]['mxdate']:0;
    print $res;  
  }else{
    $query="SELECT rate,count(id) as cnt FROM pubgraph.votes WHERE vote=1 GROUP BY rate;";
    $result=$mysql->querySelect($query,'rate');
    $res=$result[$_GET['vote']]['cnt']?$result[$_GET['vote']]['cnt']:0;
    print $res;
 ?>
于 2013-10-31T10:20:00.473 回答
0

这称为三元条件。看看这里:http ://www.php.net/manual/en/language.operators.comparison.php

于 2013-10-31T10:23:18.653 回答
0

这种语法称为三元运算符,是一个简短的 if/else

 $res=$result[$_GET['vote']]['cnt']?$result[$_GET['vote']]['cnt']:0;
于 2013-10-31T10:23:27.883 回答