我会尽量保持这个尽可能简单,但这是一个很糟糕的事情。我使用PHP从MySQL获取数据,并为幻想足球联赛信息创建变量。用户可以为一个幻想联盟存储数据,或者他可以为20个联盟添加数据。因此,当ADD TEAM页面加载时,我获取所有用户联盟的数据(标准的mysql查询工作正常),并为每个变量创建一个附加数字的变量,以使它们保持唯一...... < / p>
$l=1;
while ($row = mysqli_fetch_assoc($savedleagues)) {
${"leaguescode".$l} = "<option value='$l'>". $row['fantasyleaguename'] . "</option>";
${"leaguetype".$l}=$row['leaguetype'];
${"leaguescoring".$l}=$row['scoring'];
${"leaguewebsite".$l}=$row['leaguewebsite'];
$l++;
}
完成此操作后,说用户已保存了三个联赛。现在会有PHP变量,如...
$leaguescode1="<option value='1'>My Brothas League</option>"
$leaguetype1="redraft";
$leaguescoring1="std";
$leaguewebsite1="ESPN";
$leaguescode2="<option value='2'>Fake Football League</option>"
$leaguetype2="keeper";
$leaguescoring2="ppr";
$leaguewebsite2="CBS";
$leaguescode3="<option value='3'>Best League Ever</option>"
$leaguetype3="redraft";
$leaguescoring3="ppr";
$leaguewebsite3="Yahoo";
还在我身边吗?哇,谢谢你,让我们继续......
所有变量创建都在ADD TEAM页面加载时完成。在ADD TEAM页面上,有一个选项可以使用他们之前可能输入的其中一个联赛的默认设置。因此,在我们的示例中,用户将输入他作为可用选项输入的三个联赛的下拉列表。如果他选择名为&#34; Best League Ever&#34;的联盟,它会自动将联赛类型更改为Re-Draft,PPR的得分选项,以及雅虎的网站(在ADD TEAM页面上的表格) 。 Select选项生成如下......
echo "<div id='league' class='question'><span class='bold'>Assign to League?:</span>
<select name='fantasyleague' id='fantasyleague' onChange='setLeagueDefaults(this);'>
<option value='0'>Not assigned</option>";
for ($i=1; $i<$l; $i++) {
echo ${"leaguescode".$i};
}
echo "</select>
</div>";
如您所见,我希望在用户使用...
更改选择选项时更改设置onChange='setLeagueDefaults(this);'
所以,如果他们选择了联赛3(有史以来最好的联赛),它会通过&#34; 3&#34;,然后我想在下面的javascript中使用...
function setLeagueDefaults(sel) {
var leaguenum = sel.value;
document.getElementById("<?php echo ${"leaguescoring".leaguenum};?>").checked = true;
}
在你正确地对我大吼大叫之前,我知道我的问题在于嵌套在Javascript中的PHP代码。非常肯定混合使用php和javascript是一种可怕的做法,但不知道如何处理这个问题。
简单地说明一点,我想将存储在PHP变量$ leaguescoring3(即&#34; ppr&#34;)中的数据传递到上面的javascript位,将联盟评分单选按钮更改为PPR选项(,因为它的ID为&#34; ppr&#34; )。所以说完所有内容后,我希望它能在代码中显示为......
document.getElementById("ppr").checked = true;
我试图把那个javascript变量(称为&#34; leaguenum&#34;,它正在存储正确的选择值btw)重新放回PHP片段中,我感到非常困惑。似乎非常错误/愚蠢,所以我必须以错误的方式解决这个问题。
如果有人聪明/疯狂到足以理解我想要解释的内容,并且可以指出我更好的方向,请告诉我。
对此任何方面的任何帮助都将完全赞赏。
由于
答案 0 :(得分:1)
您可以使用json_encode
并将其打印到<script>
代码
<?php $test = "Hello world!"; ?>
<script type="text/javascript">
var test = <?php print(json_encode($test)); ?>
</script>
答案 1 :(得分:0)
您可以使用:
<div id="test" style="display:none">
<?php
echo json_encode($myPhpData);
?>
</div>
然后从这个div中取出json:
var obj = $.parseJSON($('div#test').html());