2013-05-11 168 views
1

我已經創建了一個數據庫Mysql,我在php中使用。我想要檢查每個用戶是否有數據。如何檢查表中是否存在元素(mysql)

我有三張桌子。在表格中,用戶有一個名爲ID_u的唯一值,並且不是auto_increment,表格Application具有一個稱爲ID(auto_increment)的唯一值,表InformationUser具有一個稱爲ID(auto_increment)的唯一值。表Users和InformationUser與表Application一起加入。

enter image description here

ID_u = a user with id_u-> 1234 

我'試試這個:

if(ID_u exists data){ 
    location1.php ->data 
}else{ 
    location2.php -> input information 
} 

我將感謝任何幫助!

+0

因此......您想知道某個用戶是否擁有某個ID_u的用戶?是嗎? – Borgtex 2013-05-11 11:45:15

+0

不,我想她想要查看用戶在InformationUser表中是否有電子郵件和電話 – 2013-05-11 11:46:38

+2

爲什麼要設計這樣的表格?我的意思是,1個用戶可以有多個電子郵件地址和電話嗎? – Tivie 2013-05-11 11:47:40

回答

1

首先,如果用戶只能有一個組的電話和電子郵件,最好保存在user表中的數據,從而爲具有以下結構:

用戶 ID_u 名 surename 電子郵件 電話

如果你設置,讓你有結構的,我的第一個技巧是拿走桌子上的應用自動遞增。該表僅用於保存用戶和InformationUser之間的關聯。此外,你正在尋找的代碼將是這樣的:

$sql = "SELECT * FROM Application WHERE ID_u = '1234'"; 
$result = mysql_query($sql) or die("Woops!"); 
if ($data = mysql_fetch_array($result)) { 
include("location1.php"); 
} 
else { 
include("location2.php"); 
} 
0

所以你有用戶,你有應用程序。在每個應用程序中,可能會有不同的電子郵件和名稱。所以你需要加入,看看是否存在。這種風格的東西

select count(*) 
    from Application 
    join InformationUser on (InformationUser.ID = Application.ID) 
where 
     Application.ID_U = ? 

上面給你一個計數= 0,如果兩者都不存在。如果你想知道兩者是否都不存在,你可以使用外連接。

2

你的數據庫的結構似乎有點怪,但你可以看看這個:

$query = " 
SELECT * FROM users u 
LEFT JOIN application a 
ON u.ID_u = a.ID_u 
LEFT JOIN informationuser i 
ON a.ID = i.ID 
//Here you can specify 'WHERE u.ID_u IN (1,2,3,4)' 
GROUP BY i.ID 
" ; 


$users = array() ; //Create storage for users. Use their ID as indeces 
$result = $mysqli->query($query) ; 
if ($result && $result->num_rows >= 1){ 
    while ($row = $result->fetch_assoc()){ 
    if (!isset($users[$row['ID_u'])){ 
     $users[$row['ID_u']] = array() ; //Create array for a new user 
    } 
    $users[$row['ID_u']][] = array( //Fill array in with data and add it to user. 
     "email" => $row["email"], 
     "phone" => $row["phone"] 
    ) ; 
    } 
} 

之後,我們是否存在與ID = 3用戶數據的檢查(如果有3個是int):

if (!empty($users[3])){ 
    echo "Yeah, data exists for user with ID 3" ; 
}