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: <input type="text" name="First_Name"/></br>
</br>
Last Name: <input type="text" name="Last_Name"/></br>
</br>
E-mail: <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"/> 20-25</br>
<input type="checkbox" name="age[]" id="26-30" value="26-30"/> 26-30</br>
<input type="checkbox" name="age[]" id="31-35" value="31-35"/> 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"> Bus </br>
<input type="checkbox" name="trip2date[]" id="Car" value="Car"> Car</br>
<input type="checkbox" name="trip2date[]" id="Weekend fly-in" value="Weekend fly-in"> Weekend fly-in </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"> Bus </br>
<input type="checkbox" name="triplikebest[]" value="Car"> Car</br>
<input type="checkbox" name="triplikebest[]" value="Weekend fly-in"> Weekend fly-in </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查询以执行插入到新表中? (假设新/第二个表被称为“旅行”)。 - 或者 - 在这里使用第二个INSERT查询更有意义吗?如果是这样,它应该如何保持连接到第一个表/ ID
提前谢谢。
答案 0 :(得分:0)
查看您的代码,您是否尝试将相同的数据两次输入到不同的表中?
如果不是,你应该将你的查询变成一个变量,所以该行会读到这样的东西......
$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());
您可以考虑重复另一个表的insert语句,但使用原始代码中声明的相同变量。
如果我走错了路线,你能解释一下吗?
答案 1 :(得分: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.
?>