2015-11-19 71 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

它更清晰吗? –

相关问题