Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结合mysql insert和独立WHERE语句_Mysql_Insert - Fatal编程技术网

结合mysql insert和独立WHERE语句

结合mysql insert和独立WHERE语句,mysql,insert,Mysql,Insert,我有一个简单的INSERT语句,它从一个简单的html表单和另一个mysql表收集数据,并将所有数据插入第二个mysql表 mysqli_query($GLOBALS["conn"], "INSERT INTO `Table2` (idFI, NameSZ, ColorSZ, TimeSZ, RoomSZ, DateSZ) SELECT id, FName, ColorFI, '$Time', '$Room', '$Date' FROM Table1

我有一个简单的INSERT语句,它从一个简单的html表单和另一个mysql表收集数据,并将所有数据插入第二个mysql表

mysqli_query($GLOBALS["conn"], 
    "INSERT INTO `Table2` 
    (idFI, NameSZ, ColorSZ, TimeSZ, RoomSZ, DateSZ) 
    SELECT id, FName, ColorFI, '$Time', '$Room', '$Date' 
    FROM Table1 
    WHERE id = '$FNameid'")
到目前为止,这一切都很好

现在,我想添加一条语句,根据在TimeSZ的输入字段中插入的时间,将值(1、2或3)插入到Table2(RowSZ)中

规则:

  • 低于8:00:00-->值1
  • 在8:15:00和16:00:00之间-->值2
  • 高于16:15:00-->值3
例如:

我在输入字段(TimeSZ)中键入时间12:00:00。当我单击submit按钮时,我希望它与INSERT INTO语句的其余部分一起将值2写入行(RowSZ)

RowSZ中的值2应根据在表单输入字段中键入的TimeSZ自动插入


我怎么做?谢谢

这可以在SQL Insert语句中完成。在插入中,可以根据时间值计算RowSZ的值:

INSERT INTO `Table2` 
    (idFI, NameSZ, ColorSZ, TimeSZ, RoomSZ, DateSZ, RowSZ) 
    SELECT id, FName, ColorFI, '$Time', '$Room', '$Date', IF('$time' < '08:00:00',1,if('$time' < '15:00:00',2,3))
    FROM Table1 
    WHERE id = '$FNameid'
插入“表2”
(idFI、名称Z、颜色Z、时间Z、房间Z、日期Z、行Z)
选择id、FName、ColorFI、“$Time”、“$Room”、“$Date”、IF(“$Time”<'08:00:00',1、IF(“$Time”<'15:00:00',2,3))
来自表1
其中id=“$FNameid”

我不清楚你在问什么。您有一个有效的
INSERT
语句,您正在询问如何编写另一个
INSERT
语句?你试过写另一本吗?什么不起作用?我可以写另一个INSERT语句,是的。但是我需要mysql表中同一行中的所有值,所以您希望所有值都是一个
INSERT
语句?是什么阻止您在该语句中使用所需的值?现在还不清楚你到底在问什么。用PHP解决这个问题应该不会太难:
if($Time@NIck:听起来你只是在问如何用PHP编写
if
语句。你的PHP代码在哪里?你在这里试过什么吗?你似乎理解了你想做什么的基本逻辑。“如果变量X小于值Y,则将另一个变量设置为Z",基本上。您是否尝试过在代码中表达该逻辑?我正在寻找类似的方法,但遗憾的是您的解决方案不起作用。它总是插入值3。您可能必须将$time值转换为日期时间或时间戳值以进行比较。我怀疑,根据$time值的格式,比较可能不起作用e、 如果您的时间值在10:00:00之前使用了一位数字表示小时,则需要添加前导零。太好了!就这样。谢谢!
INSERT INTO `Table2` 
    (idFI, NameSZ, ColorSZ, TimeSZ, RoomSZ, DateSZ, RowSZ) 
    SELECT id, FName, ColorFI, '$Time', '$Room', '$Date', IF('$time' < '08:00:00',1,if('$time' < '15:00:00',2,3))
    FROM Table1 
    WHERE id = '$FNameid'