問題があり、それを解決する方法がわかりません。id (ユーザーに割り当てられる) 列と id_item 列 (アイテム テーブルからアイテムに割り当てられる) およびアイテムを含む在庫テーブルがあります。 id テーブルも含むテーブル。
より具体的には、これは私のデータベースに含まれるものです: items テーブル:
id name
1 Dagger
2 Staff
3 Wood Shield
それぞれに固有の ID があります。
在庫表:
id id_item username name
1 3 cristi Wood Shield
2 1 motoc Dagger
2 2 motoc Staff
ID はすべてのユーザー ID から取得され、id_item は項目テーブルからの項目の ID です。
問題: インベントリに 2 つの武器を持っている motoc としてログインしているとします。今まではすべて問題ありません。彼が持っているすべてのアイテムのボタンを作りたいです。ボタンはありますが、正常に動作しません。最初のものをクリックすると、正しい ssss1 が表示されますが、2 番目のものを押しても何も起こりません。次の $row1['id_item'] を ssss2 より具体的に示したいと思います。
これを解決する方法が本当にわかりません。ありがとうございました。
これは私が試したことです:
if (isset($_SESSION['id'])) {
$sth1 = $dbh->prepare("SELECT * FROM inventory WHERE id = ".$_SESSION['id']."");
$sth1->execute();
while($row1 = $sth1->fetch(PDO::FETCH_ASSOC)){
$sth = $dbh->prepare("SELECT * FROM items WHERE id = ".$row1['id_item']."");
$sth->execute();
$row = $sth->fetch(PDO::FETCH_ASSOC);
$ss = print $row1["id_item"];
?>
<form id='<?php echo $row1["id_item"]; ?>' method="POST" action="" >
<input type="hidden" name="refid" value="add" />
<input type="submit" name="submit<?php echo $row1["id_item"]; ?>" value="Add" />
</form>
<?php
}
if (isset($_POST["submit$ss"])) {
$refid = intval($_POST["refid"]);
$sth1 = $dbh->prepare("SELECT * FROM inventory WHERE id = ".$_SESSION['id']."");
$sth1->execute();
$row1 = $sth1->fetch(PDO::FETCH_ASSOC);
echo "ssss".$row1['id_item'];
}
}