0

したがって、このステートメントから出力されたすべての行を別のテーブルに挿入する必要があります。

    SELECT * FROM children WHERE quoteid = '$quoteid'

これは行の 1 つだけを挿入します。

    INSERT INTO beneficiaries (quoteid, uid, name, percent) VALUES('$quoteid', '$uid', '$nm', '10')

複数の行を移動する方法を知っている人はいますか、それともすべて別々に送信する必要がありますか?

アップデート:

前にこれについて言及する必要がありましたが、いいえ、「子供」には同じ列名がなく、それらを変更することはできません。ごめん!

$query = mysql_query("SELECT * FROM beneficiaries WHERE quoteid = '$quoteid'");
$getchildrenrid2 = mysql_fetch_assoc($query);

if(mysql_num_rows($query) == 0)
{
    $getchildren = mysql_query("SELECT * FROM children WHERE quoteid = '$quoteid'");
    $getchildrenrid = mysql_fetch_assoc($getchildren);

        $nm = $getchildrenrid['first_name'] . " " . $getchildrenrid['surname'];
        $query = mysql_query("INSERT INTO beneficiaries (quoteid, uid, name, percent) VALUES('$quoteid', '$uid', '$nm', '10')");

    $query = mysql_query("SELECT * FROM beneficiaries WHERE quoteid = '$quoteid'");
        $getlastchild = mysql_fetch_assoc($query);

            header("Location: ".$conf['location']."/distribution.php?edit=".$getlastchild['id']);
}

「子」列:

- id
- **quoteid**
- **uid**
- *first_name*
- middle_names
- *surname*
- dob
- guardian_first_name
- guardian_middlenames
- guardian_nickname
- guardian_surname
- guardian_housenum
- guardian_city
- guardian_street
- guardian_postcode

「受益者」列

- id
- **quoteid**
- **uid**
- *name*
- **percent**

コピーが必要なもの:

  • quoteid INTO quoteid
  • uid INTO uid
  • first_name + last_name INTO 名前
  • パーセントを「10」に設定します

また、これは次の後にのみ実行する必要があります: SELECT * FROM children WHERE quoteid = '$quoteid' が実行されます。

$quoteid は、現在の見積もりの​​一意の見積もり ID を返します。

4

4 に答える 4

1

列名が同じであると仮定するとchildren...

INSERT INTO beneficiaries (quoteid, uid, name, percent)
SELECT quoteid, uid, name, percent FROM children WHERE quoteid = '$quoteid'
于 2013-04-24T14:14:01.970 に答える
0

INSERT INTO beneficiaries (quoteid, uid, name, percent) SELECT quoteid, uid, name, percent FROM children WHERE quoteid = '$quoteid';

必要に応じて列名を調整します。

于 2013-04-24T14:14:09.733 に答える