2015-11-19 98 views
0

我有一張表,用於存儲有關用戶每月活動的信息。 表如下:MySQL如果沒有記錄,可以添加記錄

+-------------------------------------------+ 
|user_id | month | year | value1 | value2 | 
+-------------------------------------------+ 
|1   | 10 | 15 | 45  | 78  | 
+-------------------------------------------+ 

比方說,我有3個用戶ID爲1,2和3

我希望做的是: 當我向顯示的記錄請求從特定月份和年份的表格中,如果用戶沒有記錄,則顯示上面的結果+創建記錄,其值爲設置爲「0」的給定月份和年份。它會顯示這樣的:

+-------------------------------------------+ 
|user_id | month | year | value1 | value2 | 
+-------------------------------------------+ 
|1   | 10 | 15 | 45  | 78  | 
|2   | 10 | 15 | 0  | 0  | 
|3   | 10 | 15 | 0  | 0  | 
+-------------------------------------------+ 

我設法做到這一點硬編碼每用戶-ID,但我一直沒能實現自動化它做:爲不活動存在於每個用戶每月在那裏= $ month和year = $ year insert(user_id,month,year,0,0)。

這是我得到:

$result = mysqli_query($conn," 
    SELECT 
     * FROM ACTIVITIES 
    WHERE 
     person_id = '2' 
     AND month = '$month' 
     AND year = '$year' 
    "); 

    if(mysqli_affected_rows($conn) > 0) 
     { 

     } 
    else 
     { 
      mysqli_query($conn," 
      INSERT INTO ACTIVITIES 
       (person_id, month, year, value1, value2) 
      VALUES 
       ('2', $mois, $annee, '0', '0')"); 
     } 

THX的幫助。 某人

回答

2

嘗試使用mysqli_num_rows()

if(mysqli_num_rows($result) > 0){ 

} else { 
    //insert here 
} 
+0

THX。我的請求按原樣工作。我需要的是自動創建「0條記錄」。如:如果用戶id不存在於表ACTIVITIES中,月= $月和年= $年,INSERT記錄。 –

+0

我沒有讓你... –

+0

它更清晰嗎? –

相關問題