しばらく前に、ニュースの管理、追加、編集、削除などのためだけに CMS のようなものを作成しなければならないプロジェクトがありました。
私がしたことは、あなたと同じように、PHP mysql_fetch_assoc でフェッチされた各行に対して、テーブルに tr を追加することでした (ええ、私は知っています、テーブル...)。PHP のヘルプが必要ないことはわかっていますが、これが役立つと思います。
$res=mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($res)) {
foreach ($row as $col => $val) {
if ($col != "column you dont display or isn't 'ID' column" && $col != "another column you dont display, and so on") {
if ($col == "ID") $id = $val;
//use this to echo values in table/tr/td/div/span or whatever you use to display values
if ($col == "gold") {
echo 'whatever you want to echo using the gold value';
}
if ($col == "name of last column you are displaying") {
echo 'whatever you display for that column';
echo '<input type="text" value="Introduce quantity">';
//If you are on HTML5 you could just use id="{$id}" as it will be easier
echo '<a href="#" class="buy" id="i_{$id}" value="Introduce quantity">';
}
}
}
ここで最も重要なことの 1 つは、各アイテムの ID を追跡することです。これにより、POST リクエストをサーバーに送信するときにそれらを関連付けることができます。
jQuery を使用することをお勧めします。非常に使いやすいです。
<script type="text/javascript">
$(document).ready(function () {
$(".buy").click(function(e) {
e.preventDefault();
// You get the id attribute of the button clicked, which contains the
// item ID. Then you substr the string to get just the id number. Example:
// The id of the clicked element is "i_2254" you use substr to get just the
// 2254 and send it to the php that process the buy
// If you choose the HTML5 id form I said above in the PHP, then var id=$(this).attr("id")
var id = $(this).attr("id").substr(2);
$.ajax({
type: "POST",
url: "buy_item.php",
async:false,
data: "itemID="+id,
success: function(data) {
// Here is where the magic occurs, this is what happens when you
// get the response, here is where you update the
// inventory, quantity, etc WITHOUT reloading.
// The variable data is the response of the server
// you just echo what you need on buy_item.php, and
// that will be data here
// A simple example is to change the value of an input
// with id="gold", you echo gold on php and...
$('#gold').val(data);
}
});
});
});
});
</script>
buy_item.php では、テーブルの金の値を更新し、アイテムをアイテム テーブルに追加します。$_SESSION 変数を使用して、ユーザー セッション名を保存し、そのユーザーのゴールドとアイテムを更新します。
AJAX と jQuery (オプション) について調査することをお勧めします。
基本的にこれで問題は解決すると思います。ゲームへの招待を希望します:P