2017-06-17 5 views
1

私の質問は重複しているかもしれませんが、私は同じ問題でたくさんの質問を見てきましたが、Jqueryを使用して行テーブルからPHPにPost値IDを取得できません

非常に簡単ですが、item-id値を取得してdel.phpにPOSTしてください。 クリック後に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 [ 'ID']を取得し、それをエコーし​​ます。 window.locationがあるので、私は手動でアドレスを入力する必要はありません。 トリガーは必ずしもクリックではないかもしれませんが、それはボタンにもなります。

EDIT:$ .ajaxでPOSTを実行しましたが、今、firebugで、del.phpのポストが空に戻ってきていることに気付きました。

EDIT2:del.phpのポストレスポンスを得ましたが、エラーとして 'id'は存在しません。

+0

あなたのPHPを表示してください! – Jeff

+0

分待ってください。$ _POST ['id']をどこで見たいですか? location.hrefの後に?それは動作しません。 'json'には何がありますか?あなたはそこにそれを見ますか? – Jeff

+0

にdel.phpコードが追加されました –

答えて

1

THISはあなたがここに必要なものであるならば、私はここで

del2.php

<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"; 
} 

?> 

ですちなみに、私のアカウントの評判が低いので、このウィンドウで何をしようとしていたのか尋ねることはできませんでした。ロケーションbu何でも。 del.phpがidの値を取得するのを確認するために基本的に求めていたものの代わりに、del2.phpに表示しました。これはリクエストを出しているページです。

+0

ありがとうございました。 –

+0

喜んでお手伝いします:P –

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の後は、別のページにリダイレクトされるため、前のデータにアクセスできなくなります。

関連する問題