我正在尝试将一个变量从mySQL传递给PHP然后传递给JavaScript以对其执行一些数学计算,然后将结果显示在特定区域的页面上(在<p>
元素中,并为其分配了特定的ID )。这有可能还是有更简单的解决方案?
谢谢!
我已经知道如何从MySQL到PHP的变量只是在那之后无法做什么。
这是我阅读回复后的更新代码。仍然没有工作,但我确信我做错了什么!
<p id="p_id"><?php echo $price; ?></p>
<input type="radio" group="radio_group" value="Reduce 10%" onclick="radio_click();" />
<script type="text/javascript">
var price = <?php echo $price; ?>;
function radio_click() {
var target = document.GetElementById('p_id');
var final_number; // this will be variable your store the final number in
final_number = price * .9;
target.innerHTML = final_number;
}
</script>
答案 0 :(得分:2)
简而言之,您必须以JavaScript友好格式(引号和内容)将变量作为字符串传递给<script>
标记。
<?php
$variable = 5;
$javaScriptAccessible = '
<script type="text/javascript">
var javaScriptAccessible = "'. $variable . '";
</script>
';
echo $javaScriptAccesible;
另外,你可以JSON它:
<?php
$variable = 5;
$javaScriptAccessible = '
<script type="text/javascript">
var javaScriptAccessible = '. json_encode($variable) .';
</script>
';
echo $javaScriptAccessible;
使用JSON,引号将自动附加。
在这里,您可以看到两者的实际效果:http://codepad.viper-7.com/Jyfw31
以下是更精确的,我认为,更好地理解示例:http://codepad.viper-7.com/1cloyB
您唯一需要做的就是在radio
按钮/元素上使用它。
我强烈建议使用JSON,因为它实际上代表JavaScript Object Notation,它有可能是地球上每一种编程语言的库,并且专门用于将JS数据从一个环境传递到其他。
http://php.net/manual/en/function.json-encode.php在这里,您可以看到您可以传递的多个选项,以便以不同方式呈现它。
答案 1 :(得分:0)
要将数据从PHP传递到JavaScript,只需echo
即可。
例如,假设您要在消息框中显示数据:
$data="something";
echo "<script>";
// Do the maths
echo 'var = ' . $data . ' + 1';
echo 'document.write("<p id=\"someID\">" + var + "</p>");' // PHP code writing Javascript code to write HTML code. Wow.
echo "</script>";
如果要在单击单选按钮时显示数据:
<input type="radio" onClick="someFunction();">
<?php
echo "<script>function someFunction() {";
// Do the maths
echo 'var = ' . $data . ' + 1';
echo 'document.write("<p id=\"someID\">" + var + "</p>");' // PHP code writing Javascript code to write HTML code. Wow.
echo "}</script>";
?>
* 修改:如果<p>
标记已存在,请使用document.GetElementById(\"someID\").innerHTML = var;
代替document.write("<p id=\"someID\">" + var + "</p>");
。
答案 2 :(得分:0)
只需将PHP中的变量输出到<script>
项。然后根据您的计算设置<p>
的innerHTML属性。你可以将它放入一个函数中,然后通过单选按钮点击它来调用它。
<p id="p_id"><!-- Your value will be inserted here --></p>
<input type="radio" group="radio_group" value="some_value" onclick="radio_click();" />
<script type="text/javascript">
var your_number = <?php echo $php_number; ?>;
function radio_click() {
var target = document.GetElementById('p_id');
var final_number; // this will be variable your store the final number in
// do your math here using your_number variable
target.innerHTML = final_number;
}
</script>