このコードを適用すると、次のようになります。これらの文字列が展開されているテキストエリアの場所$lines = explode("\n", $val);
と$val = $_POST['result'];
場所は次のとおりです。$_POST['result'];
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
eta
etd
ここで重要かつ重要なのは、最初eta
から次への受け渡しetd
と計算です。展開された値をループする必要がある場合、どうすればそれを実行できますか?私を助けてください。長い説明で申し訳ありませんが、私が何を達成しようとしているのかを皆さんに理解していただきたいと思います。ありがとう!