Php 从HTML表单向MySQL数据库插入多行
我想从MySQL数据库中提取2个字段,并将它们用于2个隐藏的表单字段,同时允许用户将数据输入其他表单字段。我正在使用以下代码执行此操作: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_
$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)");
}