2017-07-14 68 views
-6

我有一個數據庫有兩個表,用戶表和照片表。如何從另一個表中選擇照片使用MySQL,PHP

我想要的是在兩張桌子之間建立連接,我希望用戶能夠使用他們上傳到照片列表的照片更新用戶表格中的頭像字段。每次他們上傳一張照片時,頭像字段都會隨着新照片一起更新,我知道mysql中的外鍵,但在這方面我並不完美。

你能告訴我這是否是在我的網站上實現此類功能的最佳方式。如果我的語法不完善,請不要冒犯。

CREATE TABLE `users` (
    `id` bigint(20) NOT NULL, 
    `username` varchar(255) NOT NULL, 
    `password` varchar(255) NOT NULL, 
    `email` varchar(255) NOT NULL, 
    `age` bigint(200 NOT NULL, 
    `gender` VARCHAR(10) NOT NULL, 
    `avatar` tex NOT NULL, 
    `signup_date` int(10) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

然後我有一個包含用戶上傳,這是結構

CREATE TABLE IF NOT EXISTS `photos` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `location` varchar(100) NOT NULL, 
    `caption` varchar(100) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; 
+0

你有一個無論是關於話題還是downvoted問題的歷史,都有可能失去你的問題 - 要求特權。 [你應該在發佈你的下一個之前閱讀這個](http://s.tk/onhold)。 –

回答

0

首先你必須創建這兩個表之間的連接上傳照片,在照片表中添加列USER_ID。

CREATE TABLE 
IF NOT EXISTS photos (
    id INT (11) NOT NULL AUTO_INCREMENT, 
    location VARCHAR (100) NOT NULL, 
    caption VARCHAR (100) NOT NULL, 
    user_id int(11) NOT NULL, 
    PRIMARY KEY (id) 
) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 5; 

然後改變你的用戶表的結構,你必須存儲頭像爲int與照片ID。 將頭像從varchar更改爲整數值。

CREATE TABLE users (
    id BIGINT (20) NOT NULL, 
    username VARCHAR (255) NOT NULL, 
    PASSWORD VARCHAR (255) NOT NULL, 
    email VARCHAR (255) NOT NULL, 
    age BIGINT (200) NOT NULL, 
    gender VARCHAR (10) NOT NULL, 
    avatar INT(10) NOT NULL, 
    signup_date INT (10) NOT NULL 
    ) ENGINE = MyISAM DEFAULT CHARSET = utf8; 

然後,當用戶將數據添加到照片表只寫user_ID的,然後你將有能力獲得所有用戶的照片與MySQL查詢:

SELECT * FROM `photos` WHERE user_id={your_user_id} 

然後你會選擇一個照片的ID你想的頭像和將更新用戶照片頭像名爲表列ID(photos.id)

+0

**謝謝**很多@Risian Musayev –

+0

如果我明白你的意思是先生,我喊出每次用戶添加數據到**照片**表時,將用戶ID添加到user_id列中的照片表中?對? –

+0

是的。每次用戶添加照片時,必須寫入** photos.user_id **列數據。 –

0

我認爲你需要做的第一件事是user_id列添加到您的照片表中的所有照片另一個表,這將充當外鍵,因此您可以找到某個用戶上傳的所有照片。當你這樣做,那麼你可以使用類似下面的東西來獲取所有用戶

SELECT * FROM `photos` WHERE `user_id` = <user_id> 
+0

感謝您花時間幫助我修改我的表格,但現在的問題是,我無法將用戶標識插入到照片表格中。 –

相關問題