2011-04-22 80 views
0

这里的一切正在工作,除了更新命令...插入工作正常,但唉,我卡住了。更新命令语法

$queryLastDateArray = "SELECT date FROM schedule ORDER BY ID DESC LIMIT 1"; 
$lastDateArray = mysql_query($queryLastDateArray); 
while($row = mysql_fetch_array($lastDateArray)) 
         { 
         $lastDate = $row['date']; 
         }      
$lastDatePlusOne = date("Y-m-d", strtotime("+1 day", strtotime($lastDate))); 

$newDatesArray = GetDays($lastDatePlusOne, $_POST[date]); 
$i = 0; 
while($i < count($newDatesArray)) 
     { 
     if ((date('D', strtotime($newDatesArray[$i]))) == 'Fri') 
       { 
       $insDate = "INSERT INTO schedule (date) VALUES ('$newDatesArray[$i]')"; 
       $result = mysql_query($insDate); 
       $insEmp = "UPDATE schedule SET schedule.jakes = schedule_default.jakes FROM schedule, schedule_default WHERE schedule.date = '$newDatesArray[$i]' AND schedule_default.ID = '5'"; 
       $result2 = mysql_query($insEmp); 
       } 
     $i++; 
     } 
+0

切忌在对/而行再次使用'count'。放入一个变量并使用变量本身。 – Pentium10 2011-04-22 19:39:49

+0

@ Pentium10 - 为什么不呢?除了不必要的微观优化之外,还有一个原因吗 – 2011-04-22 19:47:13

+0

用于低延迟响应时间。 – Pentium10 2011-04-22 19:55:59

回答

2

试着写更新这样的:

"UPDATE schedule SET schedule.jakes = (SELECT schedule_default.jakes FROM schedule_default WHERE schedule.date = '$newDatesArray[$i]' AND schedule_default.ID = '5')"; 
1

多台UPDATE语法是:

UPDATE schedule, schedule_default 
SET schedule.jakes = schedule_default.jakes 
WHERE schedule.date = '$newDatesArray[$i]' 
    AND schedule_default.ID = '5' 
+0

这样做!非常感谢你。 – Andrew 2011-04-22 19:57:17