$query = "select * from pharmacy";
$result = mysql_query($query);
$num = mysql_num_rows($result);
$num1 = mysql_num_fields($result);
if($num>0)
{
echo "<table border=2>";
for($i=0;$i<$num;$i++)
{
$row=mysql_fetch_row($result);
echo "<tr>";
echo"<td><input type='Checkbox' name='p$i' value='yes' unchecked /></td>";
echo"<td>$row[0]</td>";
echo"</tr>";
}
我想在Mysql的另一个表中插入已检查的那些如何插入每个复选框的文本?
答案 0 :(得分:2)
首先,您必须更改此HTML,以便复选框是一个数组
$query = "select * from pharmacy";
$result = mysql_query($query);
$num = mysql_num_rows($result);
$num1 = mysql_num_fields($result);
if($num>0)
{
echo "<table border=2>";
for($i=0;$i<$num;$i++)
{
$row=mysql_fetch_row($result);
echo "<tr>";
echo"<td><input type='Checkbox' name='pi[$i]' /></td>";
echo"<td>$row[0]</td>";
echo"</tr>";
}
然后在行动页面
foreach($_POST['pi'] as $key=>$value)
{
if($value=="on")
{
//DO THE INSERT CODE HERE
// the $key is the $i counter in the HTML
// the $value is whether the user selected it no in this case its just on/off
}
}
答案 1 :(得分:0)
我建议使用POST / GET数组,如下所示:
<input type='Checkbox' name='p[]' value='$i' unchecked />
提交表单后,您将在请求参数的p
变量(POST / GET)中找到一组值。
从这里可以很容易地从原始表中选择这些ID并将数据插入到新表中。
它看起来像这样:
INSERT INTO `new_table` (firsT_column, second_column, third_column)
SELECT firsT_column, second_column, third_column
FROM `old_table`
WHERE id IN (<IDS>)
当然,<IDS>
标记应该替换为之前的p
数组的内嵌字符串。
答案 2 :(得分:0)
我认为你的整个方法都是错误的。最好的方法是使用药房主键并将其插入您的其他表。我在其他表格中假设您保存了用户的ID以及与他相关的所有药物。
这是我建议的完整示例:
<强> list_drugs.php 强>
$query = "select * from pharmacy";
$result = mysql_query($query);
$num = mysql_num_rows($result);
if($num>0) {
echo '<table border="2">';
while($row=mysql_fetch_array($result) {
echo '<tr>';
echo '<td><input type="checkbox" name="drugid_'.$row["PRIMARY_KEY_ID"].'" value="1" unchecked /></td>';
echo '<td>$row[0]</td>';
echo'</tr>';
}
echo '</table>';
}
<强> do_update.php 强>
<?php
foreach($_POST AS $k=>$x) {
if(!preg_match("/[^drugid_*]/i", $k)) {
if($x=="1") {
$getOnlyTheDrugID=str_replace('drugid_','',$k);
mysql_query('INSERT INTO otherTable SET columnName='.($drugid_+0).'');
}
}
}
答案 3 :(得分:-4)
您需要为所有复选框指定相同的名称。像
这样的东西<input type="checkbox" name="drugs[]" value="name of drug" />
然后在处理脚本的脚本中
for($i=0;$i<count($_POST['drugs']);$i++) {
$query = "INSERT INTO table (ID, Drugname) VALUES ('', '$_POST['drugs'][$i]')";
}
您应该知道如何每次发送该查询