在施加这样的代码:$lines = explode("\n", $val);
其中$val = $_POST['result'];
和$_POST['result'];
是从那里这些字符串被分解一个textarea:PHP循环语句
分别A - B - > 1:00
乙 - 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());
所以我会在运行整个代码我张贴上面仍然基于的$_POST['result'];
上述值必须在pdf
表以下值:
我想要做什么是使这成为可能:具有第一个计算的eta
下一个etd
的值然后计算它的eta
(etd
+ block
)。然后waiting
列的值应该是第一个eta
减去下一个etd
。事情是这样的:
什么是至关重要的,这里重要的是第一eta
的传递到下一个etd
和计算。当我需要循环展开的值时,我怎么能完成它?请帮帮我。对于长时间的解释我很抱歉,但我希望你们所有人都明白我想要达到的目标。谢谢!
** note **'mysql_ *'的弃用过程已经开始。改为使用[pdo](http://php.net/manual/en/book.pdo.php)。 – itachi
您绘制的表格是“预订还是PDF”? –
@SHAKIRSHABBIR,第一个表格是表格PDF。第二个是我想要的表格PDF的样子。谢谢。 – xjshiya