PHP做了一个提交表单保存内容到数据库的网页,提交$editFormAction能将内容保存到数据库,大家可忽略此。现在需要解决的功能是:点击“提交保存”按键时,能将“部位”框中的指定字符(包括“、”、“,”、“;”和空格)总数计算出来,再+1,提交时保存至数据库的“计数”字段$row_rsupdate['计数'],这样重新加载网页时可以在“计数”框显示出数量。谢谢!
<form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST" onSubmit="return checkForm()">
<input name="计数" type="text" class="b" id="计数" value="<?php echo $row_rsupdate['计数']; ?>" />
<input name="部位" type="text" class="b" id="部位" value="<?php echo $row_rsupdate['部位']; ?>" />
<input name="Submit" type="submit" class="b" value="提交保存" />
</form>
引用chatgpt部分指引作答:
您可以在表单提交时,使用JavaScript来计算指定字符的个数,并将其添加到“计数”字段中。下面是一个简单的示例代码,可以放置在您的HTML文件中的<script>标签内:
<script>
function checkForm() {
// 获取“部位”框中的文本
var inputText = document.getElementById("部位").value;
// 计算指定字符的个数
var count = (inputText.match(/[、,;\s]/g) || []).length + 1;
// 将计数添加到表单中
document.getElementById("计数").value = count;
// 提交表单
return true;
}
</script>
该代码使用JavaScript的match()方法来查找指定字符。这里使用了一个正则表达式,该正则表达式匹配任何一个在方括号内列出的字符(“、”、“,”、“;”和空格)。
最后,将“计数”字段设置为新计数,并在返回true以继续表单提交。
<?php
// 连接数据库的代码,以及从数据库中获取 $row_rsupdate 的代码
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$count = preg_match_all('/[、,; ]/', $_POST['部位']);
$count += intval($row_rsupdate['计数']);
$sql = "UPDATE tablename SET `计数` = '$count' WHERE id = {$row_rsupdate['id']}";
mysqli_query($conn, $sql);
// 重定向到页面的代码
}
?>
<form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST" onSubmit="return checkForm()">
<input name="计数" type="text" class="b" id="计数" value="<?php echo $row_rsupdate['计数']; ?>" />
<input name="部位" type="text" class="b" id="部位" value="<?php echo $row_rsupdate['部位']; ?>" />
<input name="Submit" type="submit" class="b" value="提交保存" />
</form>
我理解的是您需要在用户点击提交按钮时,将“部位”文本框中的特定字符数量加1,并将结果保存到数据库的相应字段中。您可以按照以下步骤进行:
// 获取"部位"文本框的值
$part = $_POST['part'];
// 计算特定字符的数量并加1
$count = substr_count($part, ',') + substr_count($part, '、') + substr_count($part, ';') + substr_count($part, ' ') + 1;
// 更新数据库中对应记录的"计数"字段值
$sql = "UPDATE your_table SET `计数` = '$count' WHERE id = $record_id";
$result = mysql_query($sql);
// 在页面重新加载时,从数据库中获取"计数"字段值,并在相应的文本框中显示
$sql = "SELECT `计数` FROM your_table WHERE id = $record_id";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$count = $row['计数'];
echo "<input type='text' name='count' value='$count'>";
请注意,上面的代码示例仅供参考,您需要根据自己的具体情况进行适当修改和调整。另外,建议您使用 mysqli 或 PDO 进行数据库连接和操作,因为 mysql 函数已经被弃用。