2016-06-28 67 views
0

任何人都可以帮助我解决这个问题: 我试图做的东西,基于$ _Post数据我在Google表中显示或不显示数据。 (我已经删除不必要的代码部分,不属于实际这个问题)PHP设置变量为字符串,然后再次使用它

目前,检查的样子:

if(!empty($_POST['include_pm'])) { 
     $pm_script = "data.addColumn('string', 'PM');"; 
     $t0 = ",'\"."; 
     $t1 = '$row['."'".PM."'".']'; 
     $t2 = ".\"'"; 
     $pm_ent = $t0.$t1.$t2; 
    } 
    else 
    { 
     $pm = ""; 
     $pm_script = ""; 
     $pm_ent = ""; 
    } 

而在谷歌的可视化表不言而喻的:

<?php echo $pm_script; ?> 
      data.addRows([ 
     <?php 
      foreach ($rows as $row) { 
      echo "['".$row['TYPE']."'".$pm_ent."],"; 
     } 
     ?>   
     ]); 

所以基本上,当$ _POST是空的时候,没有任何东西被包含(也在脚本中),并且它根据需要工作得很好。

但是我不能使它工作,当$ _POST不为空时:就我实验(这是我的最后一次尝试)而言,它在数据表中完全打印出pm_ent值的字符串值,所以它不是在代码中工作,而是成为一个字符串。

也许有人可以帮助我,所以它会动态工作 - 如果它不是空的,PM行将被添加到数据行?由于我不擅长PHP,我缺乏知识,如何解决这个问题...

或者也许有一些更聪明的方法如何做到这一点?

+0

是PM变量?在$ t1 ='$ row ['。''“。PM。”'“。']'; ..如果不是变量$ t1 = $ row ['PM']; –

+0

PM是一个列名,它是从运行后台的SQL脚本中检索的。所以基本上是的,它是可变的 –

+0

我觉得'$ t1 ='$ row ['。''“。PM。”'“。']';'应该是'$ t1 = $ row [”PM“]; '否则你会输出PHP代码到javascript,而不是输出PM行的值。 – ADyson

回答

1
$pm_script = ""; 
if(!empty($_POST['include_pm'])) { 
     $pm_script = "data.addColumn('string', 'PM');"; 
    } 

而在谷歌的可视化表不言而喻的:

<?php echo $pm_script; ?> 
      data.addRows([ 
     <?php 
      foreach ($rows as $row) { 

       $pm_ent = ""; 
       if($pm_script !="") 
       { 

        $pm_ent =",'".$row['PM']."'"; 
       } 

      echo "['".$row['TYPE']."'".$pm_ent."],"; 
     } 
     ?>   
     ]); 

希望这将有助于..

+0

这是一个完美的工作,谢谢! –

相关问题