【发布时间】:2013-12-14 09:16:18
【问题描述】:
我已经找了几个小时的遮阳篷了,但我无法弄清楚。 我拥有的是一个我想放入数据库的数组
if(isset($_POST['newvalue']))
{
$array = $_POST['newvalue'];
$getcatidquery = mysql_query("SELECT * FROM categories_to_sales WHERE sales_id = $saleid");
foreach($array as $value) {
while($getcatid = mysql_fetch_assoc($getcatidquery)) {
$catid = $getcatid['categories_id'];
}
mysql_query("UPDATE categories_to_sales SET value = '$value' WHERE sales_id = '$saleid' AND categories_id = '$catid'");
}
echo "Executed a Query.";
}
上面的代码是当您按下更新表单的提交按钮时正在执行的代码。但是,此代码只会更新表单中的最后一个输入,而不是全部..
$_POST['newvalue'] 是数组,我也可以在 var_dump 中显示这个数组。
是的,我知道我没有使用 PDO,我也不想使用它,因为整个系统都是用 mysql 制作的,而且公司不会更新他们的 PHP 版本。 (我之所以这么说,是因为上次我的代码中只有这些 cmets。)
输入表单:
while($rowc = mysql_fetch_assoc($sql))
{
echo '<br/>' . $rowc['categorie_name'] . ' - ' . $rowc['value'];
echo '<input type="text" class="valueField" name="newvalue[]" id="newvalue"/>';
}
$sql = mysql_query("SELECT * FROM categories_to_sales
LEFT JOIN sales ON categories_to_sales.sales_id=sales.sales_id
LEFT JOIN categories ON categories_to_sales.categories_id=categories.categorie_id
WHERE sales.sales_id = '$saleid'
");
【问题讨论】:
-
不清楚。你想要什么?
-
我想将数组 $_POST['newvalue'] 插入数据库中..
-
可以添加表单代码吗?
-
如果你不想使用 PDO,你至少应该使用mysql_real_escape 来避免 SQL 注入。
-
基本上,这是一团糟。重新开始。