-1

こんにちは、フェッチ配列を使用して結果を表示するスクリプトを作成しますが、データ結果を新しいテーブルに挿入する方法に問題があります

---1ページ目

<?php
 while ($row = mysql_fetch_array($query)) {
 echo "<tr>";
 echo "<td><input type=\"text\" name=\"grouping\" value=\"".stripslashes('NINS_LEC')."\" /></td>";
echo "<td><input type=\"text\" name=\"InvoiceAccNum\" value=\"". stripslashes($row['InvoiceAccNum'])  ."\" /> </td>";
 echo "<td><input type=\"text\" name=\"AccountFirstName\" value=\"".    stripslashes($row['AccountFirstName']) . "\" /></td>";
 echo "<td><input type=\"text\" name=\"SubsidiaryCode\" value=\"". stripslashes($row['SubsidiaryCode']) ."\" /></td>";
 echo "<td><input type=\"text\" name=\"HandlingCode\" value=\"" . stripslashes($row['HandlingCode']) . "\" /></td>";
           echo "</tr>";
       }
    ?>
</table>
   <?echo "$num_rows Rows\n";?>
 <? echo 
"<form name='vw_ob_save' method='get'>
<fieldset>
<table width='680'><tr>
<td colspan='4' align='center'>
<input type='submit' name='btn_save' value='Save'>
</td></tr></table></fieldset></form>";
if(isset($_POST['btn_save'])){
include 'grouping.php';
if($query1>0){
msgalert("data save!");}
}?>

これは現在機能していますが、私の grouping.php ページが実行されると、テーブルに 1 つのデータしか保存されません。

grouping.php

    <?php
    session_start();
    $username = "root";
    $password = "";
    $hostname = "localhost"; 

    //connection to the database
    $dbhandle = mysql_connect($hostname, $username, $password)
    or die("Unable to connect to MySQL");
    echo "";

    $selected = mysql_select_db("bsswebtool",$dbhandle)
    or die("Could not select bsswebtool");

    if(empty($_POST['form1']))
    {

$grouping                = $_POST['grouping'];
$InvoiceAccNum       = $_POST['InvoiceAccNum'];
$AccountFirstName        = $_POST['AccountFirstName'];
$SubsidiaryCode       = $_POST['SubsidiaryCode'];
$HandlingCode           = $_POST['HandlingCode'];
    }
    else
    {

    $grouping                =null;
$InvoiceAccNum           =null;
$AccountFirstName        =null;
$SubsidiaryCode          =null;
$HandlingCode            =null;
}

 $query1 = "INSERT INTO nins_lec (rid,grouping,InvoiceAccNum,AccountFirstName,SubsidiaryCode,HandlingCode)
 values 
        ('','$grouping','$InvoiceAccNum','$AccountFirstName','$SubsidiaryCode','$HandlingCode')";

mysql_query($query1);

   ?>

データベースで 9 行が影響を受けると予想されますが、DB サンプル データの結果をチェックすると 1 行しか挿入されません。

   Groupings InvoiceAccNum  AccountFirstName       SubsidiaryCode   HandlingCode
  NINS_LEC    0000000000    ana                             XXXX        D
  NINS_LEC    0000000000    tiana                           XXXX        Q
  NINS_LEC    0000000000    LOPEZ KARL CHU                  XXXX        Q
  NINS_LEC    0000000000    pepe                            XXXX        Q
  NINS_LEC    0000000000    SANTOS                          XXXX        R
  NINS_LEC    0000000000    WONG                            XXXX        Q 
  NINS_LEC    0000000000    BERNALDEZ                       XXXX        R
  NINS_LEC    0000000000    PALICOS                         XXXX        Q
  NINS_LEC    0000000000     JOSE                           XXXX        Q
  9 Rows  
4

2 に答える 2

0

ridテーブルのメイン ID (一意/主キー) ですか? その場合は、INSERT から削除します。以下のカンマの欠落を修正しました!

$query1 = "INSERT INTO nins_lec (rid, grouping, InvoiceAccNum , AccountFirstName, Subsidiary, CodeHandlingCode)
values ('', '$grouping', '$InvoiceAccNum', '$AccountFirstName', '$SubsidiaryCode', '$HandlingCode')";
于 2013-09-23T08:29:25.590 に答える
0
  <form name='vw_ob_save' method='get'>

  ...

   $_POST['grouping'];

フォームでgetを使用すると、php scirpt で $_POST 経由でリクエストにアクセスできなくなります。

于 2013-09-23T08:26:14.630 に答える