将第三个参数传递给ajax

时间:2013-10-31 10:15:27

标签: php ajax

大家。 我有这样的代码:

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);
    }

});

3 个答案:

答案 0 :(得分:1)

只是在其他条件下。换句话说你可以像

那样写
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;
 ?>

答案 1 :(得分:0)

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

答案 2 :(得分:0)

这种语法称为ternary operator,是一个简短的if / else

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