Php 从HTML表单向MySQL数据库插入多行

Php 从HTML表单向MySQL数据库插入多行,php,mysql,Php,Mysql,我想从MySQL数据库中提取2个字段,并将它们用于2个隐藏的表单字段,同时允许用户将数据输入其他表单字段。我正在使用以下代码执行此操作: $yesterday = date('d/m/Y',strtotime("-1 days")); $sql="SELECT acct_backup_servers.server_desc, acct_customer.customer from acct_backup_servers, acct_customer where acct_backup_

我想从MySQL数据库中提取2个字段,并将它们用于2个隐藏的表单字段,同时允许用户将数据输入其他表单字段。我正在使用以下代码执行此操作:

$yesterday = date('d/m/Y',strtotime("-1 days"));

$sql="SELECT acct_backup_servers.server_desc, acct_customer.customer from acct_backup_servers, acct_customer
    where acct_backup_servers.cust_act=acct_customer.acct_no ";

$result=mysql_query($sql);

echo '<form action="http://www.bimotech.co.uk/admin/insert_backup_rec/index.php" method="post">
<table>
<tr>
<th width="20%" align="left" valign="top">Server</th>
<th width="20%" align="left" valign="top">Customer</th>
<th align="left" valign="top">Date</th>
<th width="25%" align="left" valign="top">Status</th>
<th width="30%" align="left" valign="top">Notes</th>
<th align="left" valign="top"></th>
</tr>';

while($rows=mysql_fetch_array($result)){

$server_notes = $rows['server_desc'];

echo "
<input type='hidden' name='server' value='".$rows['server_desc']."'>
<input type='hidden' name='customer' value='".$rows['customer']."'>
<tr>
<td valign='top'>".$rows['server_desc']."</td>
<td valign='top'>".$rows['customer']."</td>
<td valign='top'><input type='text' name='date' size='10' id='datepicker' value='".$yesterday."'></td>

<td valign='top'>
<select name='status'>";
$sql2 = mysql_query("SELECT cat_desc FROM acct_backup_category");
while ($row = mysql_fetch_array($sql2)){

echo "<option value='category'>" . $row['cat_desc'] . "</option>";

}

echo "</select></td>
<td valign='top'><textarea name='notes'></textarea></td>
<td valign='top'><input type='checkbox' name='completed'></td>
</tr>";

}

echo "</table>
    </br>
    <input type='submit'  class='btn' value='Submit'>
    </form>";

mysql_close();
我是一个PHP新手,非常感谢任何人在这方面的帮助

进一步编辑:

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

foreach($customer as $key => $value) {
    $date = $backup_date[$key];
    $server = $server_desc[$key];
    $customer_id = $value;
    $backup_code = $status[$key];
    $notes_field = $notes[$key];
    $been_checked = $checked[$key];
    mysql_query("INSERT INTO acct_backups (backup_date, server_code, cust_act, backup_code, notes, checked) VALUES ($date, $server, $customer_id, $backup_code, $notes_field, $been_checked)");
}

mysql_close();
谢谢


John以数组的形式进行隐藏输入。 像


没有足够的信息。你如何回应这些结果?我怀疑,由于表单值具有相同的名称,所以您没有查看数组,只查看一项。我不是php专家,但看到这篇文章:有这样的建议:“如果您可以将字段名更改为include[],那么php将创建一个包含所有匹配值的数组”您好,只是添加了进一步的信息。我是新来的,正在寻找PHP的方法,所以如果有任何帮助,我将不胜感激。太好了!谢谢你的帮助。现在如何将其作为新行插入MySQL表?再次感谢。尝试了我在原始查询中粘贴的代码,但它没有插入到数据库中,并且我没有收到任何错误消息,很难看到什么不起作用。有什么想法吗?有没有关于我在原始查询中附加的代码有什么问题的想法?用这个来了解sql.mysql_查询($sql)或die(mysql_error())的错误;
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

foreach($customer as $key => $value) {
    $date = $backup_date[$key];
    $server = $server_desc[$key];
    $customer_id = $value;
    $backup_code = $status[$key];
    $notes_field = $notes[$key];
    $been_checked = $checked[$key];
    mysql_query("INSERT INTO acct_backups (backup_date, server_code, cust_act, backup_code, notes, checked) VALUES ($date, $server, $customer_id, $backup_code, $notes_field, $been_checked)");
}

mysql_close();
<input type='hidden' name='server[]' value='".$rows['server_desc']."'>
<input type='hidden' name='customer[]' value='".$rows['customer']."'>
/* MySQL Conncection goes here*/

foreach($customer as $key => $value) {
    $customer_id = $value;
    $date = $backup_date[$key];
    $server = $server_desc[$key];
    mysql_query("INSERT INTO table_name VALUES($customer_id, $date, $server)");
}