Javascript 如何在网页中存储MySQL值以供以后使用
我使用php从MySQL表中只获取一个单元格值,并将其存储在一个id为的div中。 然后,我尝试稍后在JavaScript代码中使用该div 我认为php/MySQL代码都是正确的,但是在后面的JavaScript代码中使用div值存在问题 在网页中存储MySQL值以供以后使用的最佳方法是什么 目前,我将返回的结果存储为:Javascript 如何在网页中存储MySQL值以供以后使用,javascript,php,mysql,Javascript,Php,Mysql,我使用php从MySQL表中只获取一个单元格值,并将其存储在一个id为的div中。 然后,我尝试稍后在JavaScript代码中使用该div 我认为php/MySQL代码都是正确的,但是在后面的JavaScript代码中使用div值存在问题 在网页中存储MySQL值以供以后使用的最佳方法是什么 目前,我将返回的结果存储为: <div id="IsShift04Special"></div> 这一切似乎都运作良好 如果我在浏览器中双击页面上的1并将其粘贴到记事本中,它只粘
<div id="IsShift04Special"></div>
这一切似乎都运作良好
如果我在浏览器中双击页面上的1并将其粘贴到记事本中,它只粘贴1。
附近没有可见的回车或空格
但当我稍后尝试使用1值时:
var IsItASpecial = document.getElementById("IsShift04Special").innerHTML;
然后在if语句中使用它,它不起作用
在Chrome调试器中,当我检查IsItASpecial的值时(在声明和if语句中),它返回为:
IsItASpecial = "↵↵↵↵↵ 1 ↵↵↵"
该表当前只有一行
该值为tinyint(1),值为1
这是php查询:
$result=mysqli_query($conn, "SELECT shift04_special FROM `shifts` WHERE `users_username`= '$users_username' AND `companies_short_name` = '$companies_short_name' AND `job_role_short_name` = '$job_role_short_name'");
$special_shift04 = mysqli_fetch_assoc($result);
echo $special_shift04['shift04_special'];
我也有同样的问题:
while ($row = mysqli_fetch_array($result)) {
echo 'shift04_special';
}
以及:
当我将var转储为:
var_dump($special_shift04);
此部分返回:
["shift04_special"]=> string(1) "1" }
因此,问题似乎在于我的代码返回div值,然后将其存储在变量中。您可以将其直接保存在JavaScript变量中
var id=<?php echo $row['shift04_special'] ?>
var-id=
这是一个典型的类型转换问题。MySQL与PHP分开存储数据。所以在MySQL中输入PHP中的类型。因此,您在PHP var_dump()函数中使用了字符串(1)“1”
所以在您的情况下,当您在Javascript环境中获得一个值时,您应该将该值转换为您需要的类型。在您这样的情况下:
var IsItASpecial = parseInt(document.getElementById("IsShift04Special").innerHTML);
但是。我不建议在生产中像那样使用JS。但是对于学习来说没关系
玩得开心您可以尝试以JSON格式存储在localstorage中
//从服务器获取
setItem(“mysqlResponse”,JSON.stringify(response));
现在,无论何时需要值
const data=JSON.parse(localStorage.getItem(“mysqlResponse”)代码>您的问题似乎不一致。如果列的类型为tinyint
,vardump
不应放入string(1)“1”
。列是数字类型还是字符串类型?请仔细检查:shift04\u special tinyint(1)-(从phpMyAdmin复制并粘贴)如果您希望将来使用某些内容,仅依赖JS不是一个好主意。你想要服务器端。服务器端?所以请使用php(或其他东西)来实现这一点?非常感谢。这就很好地对它进行了排序。这促使我进一步研究它,我只需在文档前面加一个+号就可以找到它。getElementById部分也将它改为整数。这个也可以用吗?
var id=<?php echo $row['shift04_special'] ?>
var IsItASpecial = parseInt(document.getElementById("IsShift04Special").innerHTML);