【发布时间】:2015-08-02 11:23:31
【问题描述】:
我开始使用 javascript 学习一些 SQL,我想将我的变量(“来自 javascript 的 Val_Points”)放入用户(例如:Robert)的表(“Usuarios”)中。这是通过 Javascript 实现的还是有其他一些方法?
var Val_Points = 0; /* Variable */
$('.btn').click(function() {
Val_Points += 5; /* value +5 */
/* Update individual SQL Data
var UpdateSQL = dbConn.executeUpdate('UPDATE Usuarios SET Points="$Val_Points" WHERE Username="$_SESSION[username]"');
*/
$('#exp_bar').val(Val_Points);
});
<?php
session_start();
require 'connect.php';
$username_session = $_SESSION['username']; /* "Robert" Session */
$query = "SELECT * FROM `Usuarios` WHERE usuario='$username_session'";
$result = mysqli_query($connection, $query);
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Points</p>
<progress id ="exp_bar" value="0" max="100"></progress><br>
<button class="btn">+1</button>
我还看到了一个简化此https://hiddentao.github.io/squel/ 的脚本,也许在编写脚本时使用它可能更具可读性。有什么帮助吗?
编辑
我尝试通过 $_SESSION 使用 php 完成所有这些操作
<?php
session_start();
require 'connect.php';
$username_session = $_SESSION['username'];
$query = "SELECT * FROM `Usuarios` WHERE username='$username_session'";
$result = mysqli_query($connection, $query);
if(empty($_SESSION['Val_Points'])){
$Val_Points_Session = $_SESSION['Val_Points'] = 0;
}
echo "<form action='' method='POST'>
<progress id ='exp_bar' value='".$_SESSION['Val_Points']++."' max='100'></progress>
<input class='btn' type='submit' value='Increase val' />
</form>";
echo $_SESSION['Val_Points']; /* Show current variable */
$Update_SQL = "UPDATE Usuarios SET Points='$Val_Points_Session' WHERE username='$username_session'";
?>
但它不会更新表格,表格保持相同的值
用户名积分
罗伯特 0
【问题讨论】:
-
你试图在你的js中执行php?您必须调用服务器(例如 $.ajax ),然后才能完成更新。不知道为什么添加php标签被拒绝...
-
有可能从我看到像这样的一些例子stackoverflow.com/questions/11232865/… 但它也没有帮助我也添加了 php 标签!
-
好吧,有了这个库,似乎可以从 JS 执行 SQL,我只是无法想象这怎么能真正安全,我更喜欢中间有一层,抱歉帮不上忙你用那唯一的“传统”方式。
-
我想做的就是使用 javascript 中的变量 (Val_Points) 并将其更新为查询,我敢打赌还有另一种方法可以做到这一点,但我不知道。可以使用php从HTML按钮创建一个+5的变量并将其更新为查询吗?我是新手,我真的很困惑。
-
是的,有可能可以给出一个模板......而且一开始确实很混乱:最重要的是总是提醒自己JS在客户端运行而php在服务器端运行(虽然你可以将javascript添加到您的php中,它不会在服务器上被解释)。
标签: javascript php jquery sql ajax