我有2个文件:compare.php
(进一步称为C)和compare-ajax.php
(C-A)。
将项目ID添加到会话并将其显示在表格上的部分工作正常,
但我不知道为什么它不会从Session数组中删除id(在anchor元素中提到)。
C :
1 <?php $session_start(); ?>
2 ....(some php,html code)
3 <script>
4 $( "#options" ).change(function() {
5 $cid= $("#options").val();
6 $("#teste").html($cid);
7 });
8 $(document).ready(function(){
9 $("#submitSearch").click(function(){
10 event.preventDefault(); // f important
11 $.post("compare-ajax.php",
12 { cid:$cid },
13 function(data){
14 alert ("test");
15 //var tds = $(originalTable).children('tr').children('td').length;
16 $("table tr").html("<td>"+data+"</td>");
17 });
18 });
19 });
20 </script>
...
C-A :(整个档案)
<?php
1 session_start();
2 require "config.php";
3 if (!isset($_SESSION['cid'])) {
4 $comp_id=array();
5 $_SESSION['cid']=array();
6 array_push($_SESSION['cid'],$_REQUEST['cid']);
7 $comp_id = $_SESSION['cid'];
8 }else {
9 $comp_id=$_SESSION['cid'];
10 if (isset($_REQUEST['cid'])){
11 if (!is_numeric(array_search($_REQUEST['cid'],$_SESSION['cid']))){
12 if (count($comp_id)<=3) { // max number of items (ok)
13 array_push($_SESSION['cid'],$_REQUEST['cid']);
14 $comp_id = $_SESSION['cid'];
}
}
}
}
15 if (isset($_REQUEST['remove'])){
16 alert ($rem);
17 $rem=array_search($_REQUEST['remove'],$_SESSION['cid']);
18 if ($rem>=0) {
19 echo "Erasing!";
20 array_splice($_SESSION['cid'], $rem, 1);
21 $comp_id=$_SESSION['cid'];
}
}
22 echo "No of elements: ".count($_SESSION['cid']);
23 foreach ($comp_id as $item){
24 echo "<b>".$item."</b> || ";
25 $qu="SELECT DISTINCT * FROM car_tb WHERE c_id=".$item;
26 foreach ($dbo->query($qu) as $r) {
27 $t=1;
28 echo '<a id="test" href="'.$r[0].'">(('.$r[0].'))</a> ';
29 while ($t<=69): // max no. of elements for each item
30 echo "((".$r[$t].")) ";
31 $t=$t+1;
32 endwhile;
}
}
?>
33 <script>
34 $( "a" ).click(function( event ) {
35 event.preventDefault();
36 var r_id = $(this).attr("href");
37 $.post("compare-ajax.php",
38 { remove: r_id },
39 function(data){
40 alert ("test "+r_id);
41 alert ("This "+r_id+ " should be removed!");
42 $("table tr").append("<td>"+data+"</td>");
});
});
43 </script>
需要:当我点击链接(在C-A的第28行创建)时, href 中的值我想要从会话中删除/删除。 我的问题在于:当我点击链接(参见C-A中的第28行)时,我应该删除相应的id,我会收到正确值的警报,但没有任何内容从会话中删除。我甚至没有得到警报(C-A第19行)。
答案 0 :(得分:0)
我看到一些有问题的代码,但让我们从&#34; C&#34;文件。看来你正在分配&#34; cid&#34;变量似乎是一个php变量&#34; $ cid&#34;。除非你将$ cid更改为数字,否则这不会起作用。如果&#34; $ cid&#34;是一个字符串,然后改为将php包装在引号中。当然,确保$ cid分配了一些东西!从那里开始,让我知道你是如何做出来的。