我在和超时系统中创建了时间。这是表
时间表
| id | time id | time in | time out |
| 1 | 1 | 1:00 am | |
| 1 | 2 | 1:013am | |
ID 是外键,而时间ID 是时间表主键。如何更新超时表?
以下是时间
中的代码$id = $_GET['id'];
$timein = date('Y/m/d H.i.s');
$sql = "INSERT INTO time (id, timein)
VALUES
('$id','$timein')
";
$query = mysql_query($sql);
mysql_close();
if(is_resource($query) and mysql_num_rows($query)>0){
$row = mysql_fetch_array($query);
echo $row["id"];
}
echo $sql;
这是正确的,但我的问题是如何更新超时?
这将定位特定时间ID,例如时间ID 1.但我还想更新超时。
我已经尝试过这样的事情了
$timeid = $_SESSION['timeid'];
$id = $_GET['id'];
$timein = $_POST['timein'];
$timeout = date('Y/m/d H.i.s');
$sql = "UPDATE time SET(time_id, id, timein, timeout)
VALUES
('$time_id','$id','$timein','$timeout') WHERE id = $id
";
$query = mysql_query($sql);
mysql_close();
if(is_resource($query) and mysql_num_rows($query)>0){
$row = mysql_fetch_array($query);
echo $row["id"];
}
echo $sql;
这是用于查看时间和超时的上下文的代码,那么如何才能获得编辑它的确切timeid?
include_once 'dbconfig.php';
session_start();
$id = $_GET['id'];
$sql = "SELECT * FROM time WHERE id = $id";
$result = mysql_query($sql);
?>
while($row = mysql_fetch_array($result)){
echo "<tr>";
echo "<td><center>".$row['time_id']."</center></td>";
echo "<td><center>".$row['timein']."</center></td>";
echo "<td><center>".$row['timeout']."</center></td>";
echo "<td><center>".$row['totalmin']."</center></td>";
echo "<td><a href= \"timeout.php?id=".$row['time_id']." \"> timeout";
echo "</tr>";
由于MAWIA,更新正常,但是当我更新时,只有一个timeid会更新
答案 0 :(得分:1)
如果您想更新超时,我认为您不需要更新time_id,id和timein,因为您已经插入了第一个语句。所以你的更新声明是:
$checkFk = mysql_query("SET FOREIGN_KEY_CHECKS=0");//turn off foreign key
$sql = "UPDATE `time` SET `timeout`='$timeout' WHERE `timeid` = '$timeid'";
$resetFk = mysql_query("SET FOREIGN_KEY_CHECKS=1");//turn on foreign key
不要使用mysql扩展名请查看mysql improved extension或pdo