对于初学者,我不使用数组
话虽如此,我需要你的帮助......我在PHP中创建了一个webform,它从mysql表中检索值并用自己的mysqli_fetch_array命令显示它们,在该循环中它为每个记录生成一个文本框......到目前为止一切顺利。
创建的文本框(输入元素)是这样的,用户可以键入如何重新排序记录的序号...示例
原始记录订单
1 Alpha 2布拉沃 3查理 4达美 5 Echo
并且用户需要它按此顺序
用户输入顺序
2 Alpha 5布拉沃 1查理 4达美 3 Echo
在插入主表之前,记录的新顺序将保存在数据库中的临时表中,kinnda就像新订单的预览一样,如下所示:
新的记录顺序
查理1 2 Aplha 3回声 4达美 5 Bravo现在我需要的是一个帮助我显示消息的功能,如果用户复制顺序唯一,如果他们输入2个或更多记录中的数字1,当我点击预览按钮时我需要它循环所有输入框并检查它们的值,将其与其他输入进行比较并确定是否有重复....如果没有重复,继续使用PHP代码.....如果有重复项,显示错误,以便用户寻找副本并进行更改(空白处的输入将不会考虑在预览表中插入)
我已经有了这个:
<script>
function check(){
const t='texto';
//var conta=1;
var contar=<?php echo $contar; ?>;
//while (conta<=contar)
for(var conta=1;conta<contar;conta++)
{
alert(conta);
var contas=conta+1;
if (document.forms['OrderPreview'][t+conta].value!=document.forms['OrderPreview'][t+contas].value)
{
alert('All Good');
return false;
}
else
{
alert('Something bad');
return true;
}
//conta++;
contas=conta+1;
if (contas>contar){alert('End');return;}
}
};
</script>
仅适用于第一和第二输入....目前我有62,但这个数字是随机的每个数据上传...我在这里阅读一些帖子说明在javascript中使用自动增量很糟糕,但你可以看到我已尝试过两种方式进行自动增量,但似乎没有一种方法正常工作....
我也对Ajax的建议持开放态度,但我必须承认我是那种语言的新手...
任何帮助或方向都会很乐意接受,提前谢谢:)
答案 0 :(得分:0)
你必须通过ajax获得$contar;
值,否则一旦加载页面,php值将不会改变,因为它将在页面加载之前被检索。
尝试使用这样:
$.ajax({
type:'post',
url:'url to php file',
data:{/*post variables*/},
success:function(data){
// use data in for loop.put entire for loop containt here
}
});