当我把用户A的数据以表单的形式显示在页面上供管理员修改(姓名,电话,性别的值都放在文本框中),在提交表单的时候如何判断管理员修改了哪一列信息,因此可以只修改数据库中对应的那一列?
14 个解决方案
#1
表单的数据都是一起提交的,没有改哪个字段提交哪个字段的
#2
给个思路:这一行输出两遍,其中一遍是隐藏的
提交的时候,自己对比各列
提交的时候,自己对比各列
#3
主要是这一行的数据也是循环输出的,而我现在想把每一个数值与数据库表的列名对应上,有什么好办法么?
#4
想把每一个数值与数据库表的列名对应上
是什么鬼?
是什么鬼?
#5
表示不太清楚楼主的循环输出。。表单输出为什么要循环呢?。。点赞2楼的方法
#6
可以先把数据库里面读到的放在作用域,提交之前加个JS验证,我的理解啊
#7
嗯……因为表的列数很多,所以我把各列值放入arraylist里,在jsp页面循环输出的……
如果一个表有40多列,也要在jsp里一行行按照javabean输出么?求指教
#8
我也不太懂哦,有个想法,你要修改哪一行,就事先将这一行的数据备份一份(试试用jquery获取你要修改的table的行内容),提交表单时对比你修改的该行数据,有变化就ajax更新异步刷新数据库就应该可以了。
#9
之前以为你是只有一行数据。。。
#10
数据多且乱的话,哪一行获得了焦点,就把哪一行数据备份,失去焦点的时候进行判断是否更改了数据,提交的时候只更新这个数据。
如果数据少,就全部更新。
如果数据少,就全部更新。
#11
为何不在每一列的数据后加个修改的按钮,按钮附加这一列的值,然后点击的时候进行数据库的更新
#12
全部的列更新
#13
你把每一行数据之前加上一个多选框,多选框的name就是你数据里存的id就行了 管理员修改的时候选择哪些多选框不就是你数据库里需要改的
<c:forEach items="${list}" var="item">
<tr>
<td><input type="checkbox" name="shangPinId" value="${item.id}"></td>
<td> <img src="${item.imageUrl}" width="80" height="80"/></td>
<td>${item.name}</td>
<td>${item.danJia}</td>
<td>${item.kuCun}</td>
<td><input type="text" name="shuLiang" /></td>
<td><a href="javascript:operate('shangPin/mainToUpdate?index=${page.currentPage}&id=${item.id}')">编辑</a></td>
<td><a href="javascript:operate('shangPin/Del?index=${page.currentPage}&id=${item.id}')">删除</a></td>
</tr>
</c:forEach>
<c:forEach items="${list}" var="item">
<tr>
<td><input type="checkbox" name="shangPinId" value="${item.id}"></td>
<td> <img src="${item.imageUrl}" width="80" height="80"/></td>
<td>${item.name}</td>
<td>${item.danJia}</td>
<td>${item.kuCun}</td>
<td><input type="text" name="shuLiang" /></td>
<td><a href="javascript:operate('shangPin/mainToUpdate?index=${page.currentPage}&id=${item.id}')">编辑</a></td>
<td><a href="javascript:operate('shangPin/Del?index=${page.currentPage}&id=${item.id}')">删除</a></td>
</tr>
</c:forEach>
#14
最简单的,你按顺序读取就好了。
稍微负责点的话,你可以对每一个文本,自定义编号,
从这个编号,你能定位你取得哪一列,哪一行。
稍微负责点的话,你可以对每一个文本,自定义编号,
从这个编号,你能定位你取得哪一列,哪一行。
#1
表单的数据都是一起提交的,没有改哪个字段提交哪个字段的
#2
给个思路:这一行输出两遍,其中一遍是隐藏的
提交的时候,自己对比各列
提交的时候,自己对比各列
#3
给个思路:这一行输出两遍,其中一遍是隐藏的
提交的时候,自己对比各列
主要是这一行的数据也是循环输出的,而我现在想把每一个数值与数据库表的列名对应上,有什么好办法么?
#4
想把每一个数值与数据库表的列名对应上
是什么鬼?
是什么鬼?
#5
表示不太清楚楼主的循环输出。。表单输出为什么要循环呢?。。点赞2楼的方法
#6
可以先把数据库里面读到的放在作用域,提交之前加个JS验证,我的理解啊
#7
表示不太清楚楼主的循环输出。。表单输出为什么要循环呢?。。点赞2楼的方法
嗯……因为表的列数很多,所以我把各列值放入arraylist里,在jsp页面循环输出的……
如果一个表有40多列,也要在jsp里一行行按照javabean输出么?求指教
#8
我也不太懂哦,有个想法,你要修改哪一行,就事先将这一行的数据备份一份(试试用jquery获取你要修改的table的行内容),提交表单时对比你修改的该行数据,有变化就ajax更新异步刷新数据库就应该可以了。
#9
表示不太清楚楼主的循环输出。。表单输出为什么要循环呢?。。点赞2楼的方法
嗯……因为表的列数很多,所以我把各列值放入arraylist里,在jsp页面循环输出的……
如果一个表有40多列,也要在jsp里一行行按照javabean输出么?求指教
之前以为你是只有一行数据。。。
#10
数据多且乱的话,哪一行获得了焦点,就把哪一行数据备份,失去焦点的时候进行判断是否更改了数据,提交的时候只更新这个数据。
如果数据少,就全部更新。
如果数据少,就全部更新。
#11
为何不在每一列的数据后加个修改的按钮,按钮附加这一列的值,然后点击的时候进行数据库的更新
#12
全部的列更新
#13
你把每一行数据之前加上一个多选框,多选框的name就是你数据里存的id就行了 管理员修改的时候选择哪些多选框不就是你数据库里需要改的
<c:forEach items="${list}" var="item">
<tr>
<td><input type="checkbox" name="shangPinId" value="${item.id}"></td>
<td> <img src="${item.imageUrl}" width="80" height="80"/></td>
<td>${item.name}</td>
<td>${item.danJia}</td>
<td>${item.kuCun}</td>
<td><input type="text" name="shuLiang" /></td>
<td><a href="javascript:operate('shangPin/mainToUpdate?index=${page.currentPage}&id=${item.id}')">编辑</a></td>
<td><a href="javascript:operate('shangPin/Del?index=${page.currentPage}&id=${item.id}')">删除</a></td>
</tr>
</c:forEach>
<c:forEach items="${list}" var="item">
<tr>
<td><input type="checkbox" name="shangPinId" value="${item.id}"></td>
<td> <img src="${item.imageUrl}" width="80" height="80"/></td>
<td>${item.name}</td>
<td>${item.danJia}</td>
<td>${item.kuCun}</td>
<td><input type="text" name="shuLiang" /></td>
<td><a href="javascript:operate('shangPin/mainToUpdate?index=${page.currentPage}&id=${item.id}')">编辑</a></td>
<td><a href="javascript:operate('shangPin/Del?index=${page.currentPage}&id=${item.id}')">删除</a></td>
</tr>
</c:forEach>
#14
最简单的,你按顺序读取就好了。
稍微负责点的话,你可以对每一个文本,自定义编号,
从这个编号,你能定位你取得哪一列,哪一行。
稍微负责点的话,你可以对每一个文本,自定义编号,
从这个编号,你能定位你取得哪一列,哪一行。