2016-07-24 28 views
0

これは可能ですか?私は別のものに1つのSQL文の結果を実行する必要があります。..PHPはSQL結果を別のSQL文で実行します

$result= mysqli_query($dbconn,"Select max(cartid) from cart;"); 
$row = mysqli_fetch_assoc($result); 

$sql1 = "insert into cart(cartid) values('".$row['max(cartid)']."');"; 
mysqli_query($dbconn,$mysql1); 

EDIT:

を追加しました私のSQLテーブルにこれは私のカートで をしようと何イムの優れた例を示すために、テーブルenter image description here

これは基本的に私が行WHEを転送したい私のトランザクションテーブル enter image description here

ですcartテーブルのre cartid = 5を新しいトランザクションID = 5になるトランザクションテーブルに追加します。ご覧のとおり、トランザクションテーブルにはcartidもあります。どのように私はこのcartidを引き継ぎ、トランザクションテーブルに新しい行として挿入しようとしているのか分かりません。 FYI、cartid = 5を取得するために order by cartid desc limit 1を使用してカートテーブルの最後の行を取得したい

新しいトランザクションテーブルの行は次のようになります。

transactionid outletid nric cartid transactiondate totalbeforediscount totalafterdiscount transactiontime username 
    5   0  0  5   0     0      0     0   0 
+0

が第2に、それを使用するために最初のクエリ( '$のresult')内のデータを取得するための唯一の目的です - か - あなたがいることを使用することになります他の場所のデータも? – Nicarus

+0

@Nicarus私は他の場所でも同じように使っています – Marcus

答えて

2

クエリを1つにまとめることができます。

INSERT INTO cart(cartid) SELECT MAX(cartid) FROM cart

WORKING DEMO

EDIT:あなたのクエリは以下のようになります。そのようなmulitiple値を挿入するために

それを試してみるてください。

WORKING DEMO

INSERT INTO cart(cartid,rowid) SELECT MAX(cartid),MAX(rowid) FROM cart

しかし、私は同じテーブル内の最大値を持つ列を挿入しようとしている理由を理解していません。あなたのテーブルにはすでにそれらが含まれているからです。

EDIT2:

INSERT INTO transaction_table(cartid) SELECT MAX(cartid) FROM cart;

+0

うん、別のテーブルから複数の値を挿入したいのですがどうでしょう。これはどう? "カートに入れる(cartid、rowid)カートからMax(cartid)を選択し、行の最大値(rowid)を" – Marcus

+0

を更新しました。編集セクションを見てください。 – 1000111

+0

私のROWIDが別のテーブルから来た場合はどうなりますか?申し訳ありませんが、私は例を使っています。 – Marcus

関連する問題