2017-06-17 32 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之後,您無法訪問之前的數據,因爲它會重定向到另一個頁面,因此您將丟失之前的所有數據。