我有多个文本字段,文本字段的数量是由于数据库中有多少数据。两者的输入都是整数,所有我想要的是将值输入到文本字段时,如果输入的数据大于数据库中的值 例如 中的markscme 输入到文本框是给学生的标记,数据库中的数据是该特定问题的最大标记,因此它不能超过该值,因此实际上我想比较这些值,如果文本输入值大于在数据库中它抛出和错误:)PHP比较数据库与文本框中的值
0
A
回答
0
如果你可以依靠你的用户启用javascript,我会说最简单的是验证客户端的数据。
你可以做这样的事情:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<input type="text" value="5" name="grade[123]" data-max="10" />
<script type="text/javascript">
$(function() {
$('input[type="text"]').blur(function(e) {
var $this = $(this);
var max = parseInt($this.data('max'), 10);
if (parseInt($this.val(), 10) > max) {
var name = $this.attr('name');
console.error('Value ' + $this.val() + ' in field "' + name + '" exceed its maximum value of ' + max);
$this.focus();
}
})
});
</script>
</body>
</html>
或者你可以用简单的HTML5 数领域替换所有这样的逻辑:
<input type="number" value="5" name="grade[123]" min="0" max="10" />
显然,一个人决不应该相信他们的用户。您应该始终仔细检查服务器端的数据,并通知用户有关可能的错误。
这是你可以做:
<?php
if (!empty($_POST)) {
// ...
// fetch max values from the database in the form of
// array(
// id => [max],
//);
$maxValues = array(/* ... */);
// prepare some error array if you want to show errors next to individual fields
$errors = array();
// ...and then loop through the posted array
foreach ($_POST['grades'] as $id => $value) {
// make sure the submitted value is an integer
if (!ctype_digit($value) && !is_int($value)) {
$errors[$id] = 'Invalid value';
continue;
}
if ((int) $value > (int) $maxValues[$id]) {
$errors[$id] = 'Value cannot be more than ' . $maxValues[$id];
}
}
// assign errors to the view or do whatever is required in your script
// ...
}
它不应该是很难理解我在做什么在那里。基本上,有一个引用数组和数据数组进行验证(注意:您的HMTL字段名必须有方括号作为数组)。然后循环访问提交的数据并根据参考数组进行验证。
就像Ryan Kempt说的,有很多方法可以做到这一点,没有数据结构的特定例子,或者你想如何将错误/异常呈现给用户,这很难写给你确切的代码。
然而,看看我们的建议,并从那里开始。祝你好运!
0
很多方法来解决这个问题,但几乎所有可以使用JavaScript解决方案进行客户端检查和PHP的服务器端...前端您可以查询数据库并在隐藏输入中输出信息然后使用JavaScript解决方案将文本框的值与匹配隐藏div的值进行比较。
当文本框失去焦点时,您可以使用AJAX并根据数据库查询文本框中的内容。
当用户最终提交表单时,您还应该再次使用PHP对daabase进行验证。
因此...需要更多信息,但上述步骤是您要做的 - 您如何去做是取决于您,如果在尝试上述方法并遇到问题后需要特定帮助我们很乐意为您提供更多帮助。
快乐的编码和祝你好运!
相关问题
- 1. 如何比较数据库中的值与文本框的值
- 2. PHP我的sql文本框值与数据库字段值比较
- 3. 将文本框的值与数据库进行比较
- 4. 将文本框值与数据库进行比较
- 5. FileMaker: - 比较文本框值与OBBC SQL数据库
- 6. 比较文本框与数据库的数据并用新值更新数据库
- 7. 从文本框php中获取值并与数据库匹配
- 8. 将PHP变量与文本文件中的值进行比较
- 9. 更改文本框的值,与其他文本框的值进行比较
- 10. 如何比较数据库中的不同值与重复值?
- 11. PHP如何比较表单输入与数据库值| Laravel
- 12. 如何获取edittext值与对话框中的数据库值进行比较
- 13. 如何将文本框的值与c#中的sql数据库值进行比较?
- 14. C#比较多个文本框的值
- 15. 比较会话值是否与文本框的值相匹配
- 16. Php比较html按钮名称与数据库中的名称
- 17. 我该如何比较PHP中的这些数据库值?
- 18. 如何将文本字段值与在文本字段中输入的数据库值进行比较
- 19. 与空的数值数据比较C#
- 20. 比较阵列与TextBox检查数据库中的重复值
- 21. 将两个$ _GET值与数据库中的行进行比较
- 22. 将字典与不可比较的值或不可比较的值进行比较? (如列表或数据框)
- 23. mysql数据库值进行比较数组值与PDO
- 24. 比较的MongoDB与表型数据库
- 25. 比较的AppEngine数据库值在Django
- 26. 将得到的数组与数据库中的数据进行比较PHP
- 27. isEqualToString的成本:与数值比较
- 28. 数据库比较
- 29. java数据库框架比较
- 30. 将特定值与文本文件中的值进行比较
向我们展示一些代码,mate – dotoree 2012-03-23 15:25:38