所以我从数据库中检索了一系列记录.数组采用格式;
$rows[0]['id']=1;
$rows[0]['title']='Abc';
$rows[0]['time_left']=200;
$rows[1]['id']=2;
$rows[1]['title']='XYZ';
$rows[1]['time_left']=300;
//And so on upto 10-20 rows
Run Code Online (Sandbox Code Playgroud)
将此数组传输到我的javascript代码的最佳方法是什么?我希望javascript能够循环遍历所有记录,并使用'id'属性,用一些信息更新带有该id的div.
我的javascript代码在外部.js文件中,但我能够在我的页面的HTML代码中执行php代码.所以我可以这样做:
在my_file.js中:
var rows=New Array();
Run Code Online (Sandbox Code Playgroud)
在HTML代码中:
<html>
<head>
<script type="text/javascript" src="js/my_file.js"></script>
<script type="text/javascript">
<? foreach ($rows as $row):?>
<? extract($row);?>
rows[<?=$id;?>]['title']="<?=$title;?>";
//And so on
<? endforeach;?>
</script>
Run Code Online (Sandbox Code Playgroud) 我试图将PHP变量作为PHP变量包含在PHP代码中,但我遇到了这样的问题.单击按钮时,将调用以下函数:
<script type="text/javascript">
function addTraining(leve, name, date)
{
var level_var = document.getElementById(leve);
var training_name_var = document.getElementById(name);
var training_date_var = document.getElementById(date);
<?php
$result = "INSERT INTO training(level, school_name, training_date) VALUES('level_var', 'training_name_var', 'training_date_var')" or die("Query not possible.");
?>
</script>
Run Code Online (Sandbox Code Playgroud)
可能吗?
我目前在隐藏的输入字段中回显某些变量,并在需要时用Javascript读出它们.
我和一位同事正在考虑用PHP生成一个额外的Javascript文件,该文件只包含Javascript的所有变量.这种方式变量已经存在,HTML中没有额外的代码.
将变量从PHP传递到Javascript有什么好方法?我们的解决方案如何发声?
我尝试过两种方法都可以工作,但感觉都不干净.
第一个是使用一些内联javascript接受视图模板中的变量,如:
var x = {{ myServersideVariable }};
Run Code Online (Sandbox Code Playgroud)
(在我的情况下,我使用的是Jinja2,但同样的东西适用于Django模板,.NET MVC3中的Razor,PHP中的Twig或任意数量的视图模板引擎).
显然,关于这一点的不洁部分是html页面中的javascript而不是单独的文件.
我使用的另一个选项是在一个隐藏的字段填充服务器端,然后在Javascript端使用.这感觉稍微干净,但不完全,写起来也有点麻烦.
有没有更好的解决方案,还是那些我唯一的选择?
PS
我知道JSON,事实上我有时不得不求助于第一个解决方案,如果我需要传递原语以外的东西.因此,支持传递JSON对象而不在页面上使用javascript的解决方案的奖励积分.
何时运行像JavaScript这样的客户端语言,何时运行像PHP这样的服务器端语言?我怎么能混合两者?
我想在点击我网站上的按钮时运行PHP函数,或者从PHP运行JavaScript函数; 那可能吗?
我有一个生成变量的php文件,我希望将变量放入一个javascript函数,该函数由主页上的onclick调用.这可以从PHP发送到JavaScript吗?
我有一个PHP会话变量,$_SESSION['user']在整个会话期间都存活.在head部分,我包含了我的JavaScript文件scripts.js.
如果我想要如下所示的内容,如何将会话变量传递到JavaScript文件中.
$.("#btn').click (
function() {
alert('<?php echo $_SESSION['user']; ?>');
}
)
Run Code Online (Sandbox Code Playgroud)
由于<?php ?>JavaScript文件中无法识别,因此上述代码无效.所以我要放入PHP文件本身,但是如何将它保存在JavaScript文件中呢?
所以我正在尝试建立一个谷歌甜甜圈图,其中坐标的数量是可变的.这是问题陈述,我必须制作一个图表,显示每个管理员有多少联系人被添加到数据库中.
示例数据: - 管理员1: - admin1@test.com 联系人数量: - 4
管理员2: - admin2@test.com 联系人数量: - 5
可以增加管理员的数量,以及与他们相关的联系人数量,因此不知道协调员的数量.我已经制作了这个代码来使它工作,但它不符合我的期望.实际上它根本不起作用.什么是完成我的任务的最佳方式?
HTML/PHP部分(工作正常)
<?php
//get data here
try
{
$s = $conn->query("SELECT * from users");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
$i=-1;
while($admins = $s->fetch(PDO::FETCH_OBJ))
{
$i++;
$number = $user->get_numberofcontacts_per_admin($admins->email);
echo "<input type='hidden' name='a$i' id='a$i' value=$admins->email>";
echo "<input type='hidden' name='c$i' id='c$i' value=$number>";
}
?>
<input type='hidden' name='ta' id='ta' value='<?php echo $i; ?>' > <!-- total admins -->
Run Code Online (Sandbox Code Playgroud)
使用Javascript
<script type="text/javascript">
//get …Run Code Online (Sandbox Code Playgroud) 我在这里阅读了很多线程,但我仍然无法获得从PHP传递到外部JS文件的变量,并想知道是否有人可以提供帮助?
在我的PHP文件中,我有以下内容;
<script type="text/javascript">
var pass_this_variable = <?php $company['website']; ?>;
</script>
<script type="text/javascript" src="/js/track.js"></script>
Run Code Online (Sandbox Code Playgroud)
在JS文件中,我有以下内容;
document.write('<IFRAME SRC="$company['website']" WIDTH="300" HEIGHT="400"></IFRAME>');
Run Code Online (Sandbox Code Playgroud)
我想要实现的是IFRAME打开并填充$ company ['website']中包含的内容.我知道我可以直接在PHP文件中使用IFRAME,但这不是我的功课我的任务.当我在PHP文件中直接使用IFRAME时,它可以正常工作,如果我在JS文件中指定静态URL,例如http://www.google.com,这也可以正常工作.
有人可以帮忙吗?谢谢
编辑:
谢谢你到目前为止的答案,但我仍然无法让它工作:(
我在track.php(或track.js)中的框架不会加载指定的网址$company['website'],但如果我将其更改为http://www.google.com,则其工作正常.由于某种原因,$company['website']价值未被传递:(
我有一个php和javascript代码的文件.我想将一个php变量设置为javascript函数的结果,该函数将php变量作为参数.例如:
$parameter = "this is a php variable";
$phpVar = echo "foo(" . parameter . ");";
Run Code Online (Sandbox Code Playgroud)
我知道你不能做"=回声",还有另外一种方法吗?
谢谢
javascript ×10
php ×9
variables ×2
ajax ×1
arrays ×1
charts ×1
coding-style ×1
dom ×1
get ×1
iframe ×1
post ×1
server-side ×1