我们有一个 PHP 网站,其中包含保存到数据库的多种表单。我们有两个页面都保存相似的信息。正确保存所有这些信息。我正在尝试纠正第二个错误,它无法保存其中一个字段,area_info。
是否应该像我编辑 .php 文件并从有效的文件中复制 UPDATE 语句并将其放入无效的文件中一样简单?
检查非工作页面上的元素,未保存的字段的文本框显示为:
<input type="text" value="" name="area_info[10]">
在工作页面上,当我输入“TestingAgain”作为值并单击“保存”后,相同的字段为:
<input type="text" size="25" value="TestingAgain" name="area_info[1]">
这是粘贴的代码
不起作用
$get_area_id_sql = "
SELECT area_id
FROM areas
WHERE contest_id = $contest_id ";
$get_area_id = mysql_query($get_area_id_sql) or die($get_area_id_sql);
while ($row = mysql_fetch_array($get_area_id)) {
$ar_id = $row['area_id'];
$ar_info = $area_info[$ar_id];
if (isset($area_info[$ar_id])) {
$ar_info_update_sql = "
UPDATE tracking.areas
SET area_info = \"$ar_info\"
WHERE area_id = \"$ar_id\" ";
mysql_query($ar_info_update_sql) or die($ar_info_update_sql);
适用于字段,但在不同的 PHP 文件中
for($x = 1; $x <= 100; $x++) {
if(trim($area_name[$x]) <> $null) {
if($area_id[$x] <> $null) {
$sql = "UPDATE tracking.areas
SET area_name = '{$area_name[$x]}',
area_info = '{$area_info[$x]}',
area_sort = '{$area_sort[$x]}',
contest_id = '{$contest_id}',
tracking_id = '{$tracking_id}'
WHERE area_id = '{$area_id[$x]}' ";
}
else {
$sql = "INSERT INTO tracking.areas
(area_name,
area_info,
area_sort,
contest_id,
tracking_id)
VALUES
('{$area_name[$x]}',
'{$area_info[$x]}',
'{$area_sort[$x]}',
'{$contest_id}',
'{$tracking_id}') ";
}
最佳答案
<?php
// Specify what $contest_id is!
$sq = "SELECT area_id FROM areas WHERE contest_id ='".$contest_id."'";
$qu = mysql_query($sq) or die(mysql_error());
while ($fe = mysql_fetch_assoc($qu)) {
if (isset($_POST['area_info'][$fe['area_id']])) {
$sql = "UPDATE tracking.areas SET area_info ='".$_POST['area_info'][$fe['area_id']]."' WHERE area_id ='".$fe['area_id']."'";
mysql_query($sql) or die(mysql_error());
}
}
?>
关于php - 一个 PHP 表单保存到 MySQL,另一个则不保存,不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872967/