2017-06-17 87 views
1

我知道我的问题可能是重复的,但我查看了大量问题,但都遇到了同样的问题,但没有一个解决方案适用于我。无法使用Jquery从行表中获取发布行ID到PHP的值ID

这很简单,获取item-id值并将其发布到del.php。 点击后我无法获得PHP中的POST值。

<?php 
    include '../include/db.php'; 

    $result = $mysqli->query("SELECT * FROM usuario WHERE nivel = '1'"); 

    while($row = mysqli_fetch_array($result)) 
    { 
    echo "<tr>"; 
    echo "<td class='item-id'>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['nome']. "</td>"; 
    echo "<td>" . $row['email']. "</td>"; 
    echo "</tr>"; 
    } 

    ?> 

    <script type="text/javascript"> 
    $("tr").click(function() { 

    var id = $(this).find('.item-id').text(); 

    $.post('del.php',{id: id},function(json){ 

    window.location.href = "http://localhost/unesc/3/admin/del.php"; 
    }, "json") 
}); 

</script> 

del.php

<?php 

if (isset($_POST['id'])){ 
    $id = $_POST['id']; 
    echo $id; 
} else { 
    echo "erro"; 
} 

?> 

的del.php刚刚拿到$ _ POST [ '身份证']和回声它。 window.location在那里,所以我不必手动输入地址。 触发器可能不一定是一个Click,它可以是一个Button,对我来说炒作也很好。

编辑:得到POST与$ .ajax运行,但现在,与萤火虫我注意到,在del.php后保持返回空。

EDIT2:得到了del.php的帖子回复,但作为一个错误,它说'id'不存在。

+0

请显示你的php! – Jeff

+0

等一下,在哪里/你想如何看$ _POST ['id']?在location.href之后?这是行不通的。 'json'中有什么?你看到它吗? – Jeff

+0

添加了del.php代码 –

回答

1

如果THIS是你所需要的就是

<script type="text/javascript" language="javascript" src="jquery.min.js"></script> 

<?php 
//include '../include/db.php'; 
include 'includeconnect.php'; 

//$result = $mysqli->query("SELECT * FROM usuario WHERE nivel = '1'"); 
$result = mysql_query("SELECT * FROM usuario WHERE nivel = '1'"); 

while($row = mysql_fetch_array($result)) 
{ 
echo " 
<table border='1'> 
<tr>"; 
echo "<td class='item-id'>" . $row['id'] . "</td>"; 
echo "<td>" . $row['nome']. "</td>"; 
echo "<td>" . $row['email']. "</td>"; 
echo "</tr> 
</table> 
</br>"; 
} 


echo"<div id='show_responce'>I am a text on page del2.php and I am pretty much useless apart from showing you where the responce will display</div>" 
?> 

<script type="text/javascript"> 
$("tr").click(function() { 

var rep = $("#show_responce"); 

var id = $(this).find('.item-id').text(); 

var dataString = 'id=' + id; 
    $.ajax({ 
     type: 'post', 
     url: 'del.php', 
     data: dataString, 
     success: function(html) { 
       rep.empty().append(html); 
       rep.fadeIn("slow") 
     } 
    });  

}); 

</script> 

这里是你修改del.php

<?php 

if (isset($_POST['id'])){ 
$id = $_POST['id']; 
echo "I am coming from del.php and the ID you clicked on is $id"; 
} else { 
echo "error"; 
} 

?> 

的我用

del2.php两个页面的代码顺便说一句,因为我的帐户名声很低,我不能问你你想用这个window.location bu做什么无论如何。而不是你问什么,这基本上是为了确保del.php获得id的值,因为你会看到我在del2.php上显示它,这是我从中提出请求的页面。

+0

非常感谢,这正是我需要的! –

+0

这是一个乐于帮助:P – 2017-06-18 18:47:58

0
$("table > td").find(".item-id").val(); 

    or 



<?php 
while($row = mysqli_fetch_array($result)) 
    { 
    echo "<tr id='row'>"; 
    echo "<td class='item-id'>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['nome']. "</td>"; 
    echo "<td>" . $row['email']. "</td>"; 
    echo "</tr>"; 
    } 

?> 
<script> 
     var id = []; 
    var values = []; 
    $("#row > .item-id").each(function(index){ 
     id.push($(this).attr("id")); // [a,b,c,....] 
     values.push($(this).text()); //[ Dummy1, Dummy2, Dummy3, Dummy4,..] 
    }); 

</script> 
0

可能的错误:

  1. }, "json")这里最后一个参数的手段,该函数希望你从del.php文件返回有效的JSON字符串。

  2. 经过window.localtion.href之后,您无法访问之前的数据,因为它会重定向到另一个页面,因此您将丢失之前的所有数据。