0

HTML:

<html> 
<?php include 'C:\xampp\htdocs\paxdb\head.php';  
include 'config/menu.php';?>  
<div id="dataentry"> 

<!--This section is the demographic text field area--> 
<form method="post" action="dataentered.php"> 
First Name:&nbsp;<input type="text" name="First_Name"/></br> 
</br> 
Last Name:&nbsp;<input type="text" name="Last_Name"/></br> 
</br> 
E-mail:&nbsp;<input type="text" name="email"/></br> 
</br> 

<!--This section is the age range checkbox selection area--> 
<p><u><b>Age Range</b></u></p> 
<input type="checkbox" name="age[]" id="20-25" value="20-25"/>&nbsp;20-25</br> 
<input type="checkbox" name="age[]" id="26-30" value="26-30"/>&nbsp;26-30</br> 
<input type="checkbox" name="age[]" id="31-35" value="31-35"/>&nbsp;31-35</br> 
</div> 
<div id="checkboxes"> 
</div> 

<!--This section is the trips take checkbox area--> 
<div id="tripstodatetype"> 
<p><u><b>WHAT TYPE OF TRIPS TO DATE HAVE YOU TAKEN?</b></u></p> 
<input type="checkbox" name="trip2date[]" id="Bus" value="Bus">&nbsp;Bus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</br> 
<input type="checkbox" name="trip2date[]" id="Car" value="Car">&nbsp;Car</br> 
<input type="checkbox" name="trip2date[]" id="Weekend fly-in" value="Weekend fly-in">&nbsp;Weekend fly-in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</br> 
</div> 
<div id="tripstodateborder"> 
</div> 

<!--This section is the type of trip client likes best checkbox area--> 
    <div id="triplikebest"> 
<p><u><b>WHAT TYPE OF TRIP DO YOU LIKE BEST?</b></u></p> 
<input type="checkbox" name="triplikebest[]" value="Bus">&nbsp;Bus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</br> 
<input type="checkbox" name="triplikebest[]" value="Car">&nbsp;Car</br> 
<input type="checkbox" name="triplikebest[]" value="Weekend fly-in">&nbsp;Weekend fly-in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</br> 
</div> 
<div id="triplikeborder"> 
</div> 

そしてPHP:

<html>
<?php
include 'head.php';
include 'config/menu.php'; 
$host="localhost";
$username="somename";
$password="somepass";
$dbname="pax";

$dbc = mysql_connect($host, $username, $password, $dbname); 
if (!$dbc) 
{ 
    die('Error connecting to MySQL server' . mysql_error()); 
    } 
mysql_select_db($dbname, $dbc); 

$first_name = mysql_real_escape_string($_POST['First_Name']);  
$last_name = mysql_real_escape_string($_POST['Last_Name']); 
$email = mysql_real_escape_string($_POST['email']); 
$age = $_POST['age']; 
$my_range = ""; 
foreach($age as $range) { 
   $my_range = $my_range . mysql_real_escape_string($range) . ", "; 
} 
$trip2date = $_POST['trip2date'];
$my_triprange = ""; 
foreach($trip2date as $triprange) { 
   $my_triprange = $my_triprange . mysql_real_escape_string($triprange) . ", "; 
} 
mysql_query("INSERT INTO `pax` (`First_Name`, `Last_Name`, `email`, `age`,`trip2date`)    
     VALUES('$first_name','$last_name','$email', '$my_range','$my_triprange')")  
     or die(mysql_error());  
mysql_close($dbc); 
?> 
<div class = "entered">
 <p>Success! Your Data Has Been Submitted.  Please click on <b>'DATA ENTRY'</b> above to enter another. </P>
 </div>
    <?php include 'footer.php';?>
    </div>  
    </div>
    </body>
</html>

triprange データを別のテーブルに入れる場合、INSERT クエリを変換して新しいテーブルへの挿入を実行するにはどうすればよいでしょうか? (新しい/2番目のテーブルが「トリップ」と呼ばれるとしましょう)。-または- ここで 2 番目の INSERT クエリを使用する方が理にかなっていますか? その場合、最初のテーブル/ID に接続されたままにするにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

0

コードを見て、同じデータを異なるテーブルに 2 回入力しようとしていますか?

そうでない場合は、クエリを変数にする必要があるため、行は次のようになります...

$query1 = mysql_query("INSERT INTO `pax` (`First_Name`, `Last_Name`, `email`, `age`,`trip2date`)    
     VALUES('$first_name','$last_name','$email', '$my_range','$my_triprange')")  
     or die(mysql_error());

別のテーブルに対して挿入ステートメントを繰り返すことを検討できますが、元のコードで宣言された同じ変数を使用できます。

私が間違っている場合は、もう少し説明してもらえますか?

于 2012-09-13T20:16:27.180 に答える
0
mysqli_multi_query();

ここでマニュアルを読んでください: http://php.net/manual/en/mysqli.multi-query.php

編集:

<?php

  /* connection conf */
  // use p: if you want to have a persistent connection 
  // this will improve the speed and resource usage of opening a connection
  $host     = "p:localhost";
  $username = "somename";
  $password = "somepass";
  $dbname   = "pax";

  /* make connection */
  $lnk = mysqli_connect($host, $username, $password, $dbname);

  /* check connection */
  if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
  }

  /* prepare variables */
  $first_name = mysqli_real_escape_string($_POST['First_Name']);  
  $last_name  = mysqli_real_escape_string($_POST['Last_Name']); 
  $email      = mysqli_real_escape_string($_POST['email']); 
  $age        = $_POST['age']; 

  $my_range = ""; 
  foreach($age as $range) { 
    $my_range = $my_range . mysqli_real_escape_string($range) . ", "; 
  }

  $trip2date = $_POST['trip2date'];
  $my_triprange = ""; 
  foreach($trip2date as $triprange) { 
     $my_triprange = $my_triprange . mysqli_real_escape_string($triprange) . ", "; 
  }

  /* execute query */
  mysqli_query($lnk, "INSERT INTO `pax` (`First_Name`, `Last_Name`, `email`, `age`,`trip2date`) " .
                     "VALUES('$first_name','$last_name','$email', '$my_range','$my_triprange');"
               );  

  /* execute multi query INSERT */
  mysqli_multi_query($lnk, "INSERT INTO `pax` (`First_Name`, `Last_Name`, `email`, `age`,`trip2date`) " .
                           "VALUES('$first_name','$last_name','$email', '$my_range','$my_triprange');"
                           "COMMIT;"
                     );  

  /* execute multi query SELECT */
  $query  = "SELECT CURRENT_USER();";
  $query .= "SELECT `email` FROM `pax` ORDER BY `id` LIMIT 5";

  if (mysqli_multi_query($lnk, $query)) {
    do {
      /* store first result set */
      if ($result = mysqli_store_result($lnk)) {
        while ($row = mysqli_fetch_row($result)) {
          printf("%s\n", $row[0]);
        }
        mysqli_free_result($result);
      }
      /* print divider */
      if (mysqli_more_results($lnk))
       printf("-----------------\n");

    } while (mysqli_next_result($lnk));
  }  

  /* close conenction */
  mysqli_close($dbc); 

  // I used your code and some samples from the PHP manual.
  // Hope this piece of code helps you and others to understand mysqli better.
  // Thanks to PHP for having the best manual.

?>
于 2012-09-13T20:16:29.060 に答える