变量内部回声PHP

时间:2014-10-17 07:32:18

标签: php jquery mysql session

希望这次我不会搞砸:) 为了让人们不要错过了解我想在PHP中使用javascript设置Session变量,请阅读以下内容:

echo "<td><input type='button' id=$type value='Buy!' onclick=location.href='buyone.php'></td>";

我希望按钮ID从1增加到5,但似乎我只在5次循环之后得到所有按钮id = 5。

while($row=mysqli_fetch_array($result)){
    $type = $row['petID'];
    echo "<tr>";
    echo "<td>" .$type. "</td>";
    echo "<td>" .$row['price']. "</td>";
    echo "<td><input type='button' id=$type value='Buy!' onclick=location.href='buyone.php'></td>";
    echo "<tr>";
}

$ type值是1到5,因为我在数据库中有5行,ID为1到5。 我想创建一个表格,每行都有一个按钮,如果我点击按钮,我会在数据库中插入换行符。这是一个不同的故事,但这就是我现在想要的:当我点击一个按钮时,我可以将该行的ID保存在$ _SESSION [&#39; type&#39;]中以便在其他人中使用PHP文件。所以我用这个:

<script>
    $("#1").click(function(){
        <?php $_SESSION['type'] = 1;?>
    });
    $("#2").click(function(){
        <?php $_SESSION['type'] = 2;?>
    });
    $("#3").click(function(){
        <?php $_SESSION['type'] = 3;?>
    });
    $("#4").click(function(){
        <?php $_SESSION['type'] = 4;?>
    });
    $("#5").click(function(){
        <?php $_SESSION['type'] = 5;?>
    });
</script>

但无论我点击什么,$ _SESSION [&#39;类型&#39;]的值仍为5.我认为这是因为按钮的ID始终是$ type循环后的最后一个值,所以所有的id都是5,这就是我运行它时只能得到5的原因。

我应该怎么做才能修复它?另外,我也希望在脚本中有一个循环,但我不确定如何使用它。

所以提前感谢,我在这里等待你的所有评论:)

2 个答案:

答案 0 :(得分:0)

首先要了解PHP是服务器端评估的,jQuery / js是客户端,所以不要混淆。其次在jQuery / javascript中你不能直接使用PHP会话,你必须通过jQuery / javascript使用cookie,检查这个jQuery pug-in,然后在你的PHP脚本中获取cookie。

同样,<input type='button' id=$type>将$ type更改为$ row ['id']以获取表格的id / primary索引。

关于这段代码,您可以将它设置为工厂,使其更具通用性,想想如何巧妙地命名输入然后动态捕获,而不是像这样的硬编码,因为如果你有超过5只宠物你是什么要去做,添加更多:D?!

<script>
    $("#1").click(function(){
        $.cookie('type', '1');
    });
    $("#2").click(function(){
        $.cookie('type', '2');
    });
    $("#3").click(function(){
        $.cookie('type', '3');
    });
    $("#4").click(function(){
        $.cookie('type', '4');
    });
    $("#5").click(function(){
        $.cookie('type', '5');
    });
</script>

答案 1 :(得分:0)

将其更改为以下

<script>
$(document).ready(function(){
    $("#1").click(function(){

$.post( 
             "yourfilename.php",
             { myid: "1" },
             function(data) {
                alert('session set');
             }

          );



    });

})

</script>

在php中

if(isset($_POST['myid']))
{
  $_SESSION['type'] = $_POST['myid'];
}

也可以将其用于其他人