有两个问题请教大家,第一个问题:两个数据表
user as a ,字段有,uid=用户ID,VIP=用户VIP状态(1为VIP,0为否),vip as b,字段有,vuid=vip用户ID,vtime=VIP开始日期时间,vday=VIP用户剩余天数,
查询user.uid=vip.vuid的记录,
如果vip.vtime+vday >现在时间,则更新此记录user.vip的值为1,如<现在时间,则更新值为0;当user.uid中的值没出现在vip.vuid,则这些字段的user.vip值都更新为0;求这段代码要怎么写,才能在PHP中运行。
谢谢!第二个问题:
三个变量 $uid  $sid  $suid
一个数据表 userlog,字段有, suid,sid,uid,num如果 userlog.sid <> $sid and userlog.uid <> $uid  and  userlog.suid<> $suid
那么数据表 userlog追加一条记录 suid=$suid,sid=$sid,uid=$uid,num=0求这段代码要怎么写,才能在PHP中运行。
谢谢!

解决方案 »

  1.   

    vip表中不要存天数,存结束时间就行了,这样在他登录的时候就可以判断了,如果你存天数的话那不是每天你都要运行一下程序把每个vip用户减少一天?
      

  2.   


    应该是开始没讲清楚,VDAY是会员的VIP天数,不是剩余天数,如果是剩余天数,那等于0就不是VIP了。所以要得出VIP会员的VIP开始时间+VIP天数是否小于现在时间。
      

  3.   

    你都知道该这么写,那就是写sql语句就是了,
      

  4.   

    SELECT * FROM 111 a,222 b WHERE  b.vuid>0 and to_days(time())<(to_days(b.stime)+b.vday)出现错误:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))<(to_days(b.stime)+b.vday) LIMIT 0, 30' at line 1请问如何修改?
      

  5.   

    SELECT * FROM `111` a,`222` b WHERE b.vuid>0 and to_days(now())<(to_days(b.stime)+b.vday)
      

  6.   


    表111的内容:
    uid vip
     1   0  
     ... 0
     62  1
    表222的内容:
    vuid stime vday vtime   
      2 1315202122 5 2011-09-05 13:55:22   
      494 1315203433 10 2011-09-05 14:17:13   
      62 1315241722 31 2011-09-05 09:30:22