应用此代码后:$lines = explode("\n", $val);
where $val = $_POST['result'];
and $_POST['result'];
is from a textarea where these strings are being exploded:
A - B -> 1:00
B - A -> 1:30
所以$lines[0] = "A - B -> 1:00"
和$lines[1] = "B - A -> 1:30"
分别。
在foreach ($lines as $line)
,我会在每次->
见面时再次爆炸。像这样:
$fields = explode('->', $line);
$loc = trim($fields[0]);
$bltime = trim($fields[1]);
所以$loc
=“A - B”和$bltime
=“1:00”。然后,我将这些值与我存储在会话中的值一起保存在一个表中,该值$_SESSION[rno]
是另一个表的主键,并从同一个表中获取另一个值。
$e=mysql_query("select etd from reservation
where reservno = '$_SESSION[rno]'") or die(mysql_error());
$f=mysql_fetch_array($e);
$g=$f['etd'];
mysql_query("insert into pdf(reservno, block, location, etd)
values ('$_SESSION[rno]', '".mysql_escape_string($bltime)."','".
mysql_escape_string($loc)."', '$g')") or die(mysql_error());
然后我需要添加etd
和block
的值,eta
然后只更新具有最大值的表,pdf_id
这是pdf
表的主键。
$a=mysql_query("select pdf_id as 'maxpdf' from pdf where pdf_id in
(select max(pdf_id) from pdf where reservno = '$_SESSION[rno]')")
or die(mysql_error());
$b=mysql_fetch_array($a);
$c=$b['maxpdf'];
$h=mysql_query("select addtime(etd, block) as 'eta' from pdf
where pdf_id = '$c'") or die(mysql_error());
$j=mysql_fetch_array($h);
$k=$j['eta'];
mysql_query("update pdf set eta = '$k' where pdf_id = '$c'")
or die(mysql_error());
因此,在运行我上面发布的整个代码时,我将在表中具有以下值,但pdf
仍基于上述值$_POST['result'];
:
我想做的是使这成为可能:首先计算eta
下一个的值,etd
然后计算它的eta
(etd
+ block
)。然后该waiting
列的值应该是 firsteta
减去 next etd
。像这样的东西:
这里至关重要和重要的是第一个eta
到下一个的传递etd
和计算。当我需要遍历分解的值时,如何完成它?请帮我。对于冗长的解释,我很抱歉,但我希望你们所有人都能理解我想要实现的目标。谢谢!