[英]How to update 3 tables with INNER JOIN?
我有3張桌子,看起來像這樣:
用戶:
users_age:
users_desc:
現在,我有一個“編輯”表單,該表單使用INNER JOIN在ageID和descID而不是ID的位置顯示相應的字符串列。
還有一個直接指向updateUser.php來更新數據的按鈕。 我知道我可以使用以下方式更新名稱:
$sql = "UPDATE users SET
Name = '$uName',
WHERE ID = '$uID'";
但是,當表單頁面將字符串列發送到updateUser.php文件時,如何使用age_group / desc_text等效ID中的ageID / descID的ID更新USERS表中的ageID / descID(INTEGER值)列?
我希望我的解釋不是很混亂!
如果表中的字符串是唯一的(應該是唯一的),則可以更新到SELECT語句的輸出
$sql = "UPDATE users
SET ageID = (SELECT ageID FROM users_age WHERE age_group = '$uAgeString')
WHERE ID = '$uID'";
您可以執行與其他表類似的操作。
但是-最好從網頁獲取ID。 通常,您可以通過設置選項標簽的value屬性來做到這一點:
<select name='uAgeID'>
<option value='1'>Young</option>
<option value='2'>Middling</option>
<option value='3'>Old</option>
</select>
這樣,您可以擁有一個更簡單的SQL語句:
$sql = "UPDATE users
SET ageID = $uAgeString
WHERE ID = '$uID'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.