将SQL表ID转换为PHP中的另一个字段

时间:2016-08-23 22:59:22

标签: php mysql mysqli

所以我试图让以下工作;

//SEARCH USERPETS TABLE FOR ANYTHING USER OWNS
$query = "SELECT * FROM userpets WHERE owner = '$username'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);

$userspets = $row['petid'];

//SEARCH PETS TABLE FOR LIST OF PET NAMES AND DETAILS
$query = "SELECT * FROM pets";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);

$petid = $row['id']
$petname = $row['petname'];
$petimg = $row['petimg']

//TURN PET ID INTO PET NAME AND IMAGE

echo "Pets: ".$userspets;

基本上我想要做的就是这个; ' userpets'表格包含所有拥有的'显示宠物和球员用户名。 我想抓住那个用户拥有的所有宠物,并将petid与宠物进行比较。表。 然后,我想从该表中取出宠物的名字和图像,然后回复'它在页面上。

获取所有ID很好,我只是不知道如何将id转换为名称。

Table Structure

2 个答案:

答案 0 :(得分:1)

我不知道你的桌子看起来如何,但我能想到的最好的事情是,你有3个桌子一个用Users,第二个用pets,第三个用#34} ;多对多" table允许与拥有宠物的用户调用它ownedpets,因为许多用户可以拥有许多宠物。因此,ownedpets应该id_usersuser.idid_pets相关联,pets_idSELECT * FROM ownedpets LEFT JOIN users ON users.id = ownedpets.id_users LEFT JOIN pets ON pets.id = ownedpets.id_pets WHERE users.id = $user_id 相关联。考虑到这一点,我会做以下的查询

{{1}}

希望这会有所帮助

答案 1 :(得分:1)

您可以使用JOIN的{​​{1}}或MYSQL的{​​{1}}

这是使用PHP Foreach

的示例
Foreach

使用MySQL加入

PHP