对不起我的英文。我有一个来自mysql的查询。我想带有可编辑div和2个不同区域的所有行,其中一个是NOT NULL Show(metin,kisametin)。
我的代码:
<?php
$sira = 1;
$ayarlar = $db->get("bilgiler", NULL, "adi, link, metin, kisametin, IF( metin IS NOT NULL, 'metin', IF( kisametin IS NOT NULL, 'kisametin', NULL ) ) AS olan");
if( $db->count > 0 ){
foreach($ayarlar as $ayar){
?>
<form method='GET'>
<?=( $sira%2 == 0 )?"<tr class='success'>":"<tr>"?>
<td><?=$sira?></td>
<td><?=$ayar[link]?></td>
<td>
<?php
if($ayar[olan] == "kisametin"){
echo "<div class='kisametin'><div id='veri' name='veri' >".$ayar["kisametin"]."</div></div>";
echo "<input type='hidden' id='veri_hidden' name='veri'/>";
}
if($ayar[olan] == "metin"){
echo "<div class='metin'><div id='veri' name='veri' >".$ayar["metin"]."</div></div>";
echo "<textarea hidden id='veri_hidden' name='veri'></textarea>";
}
?></td>
<input type='hidden' name='adi' value='<?=$ayar[adi]?>' />
<input type='hidden' name='olan' value='<?=$ayar[olan]?>' />
<td><button class='btn btn-default'>>>></button></td>
</tr>
</form>
<script type="text/javascript">
setInterval(function () {
document.getElementById("veri_hidden").value = document.getElementById("veri").innerHTML;
}, 15);
</script>
<?php
$sira++;
}
}
?>
当我提交的第一行是改变时,其他行可编辑但是当我提交时不保存。我的更新功能是
if( $_POST ){
if( $_POST[veri] != bilgi($_POST[adi],$_POST[olan]) ){
$db->where("adi", $_POST[adi]);
if($db->update("bilgiler", Array( $_POST[olan] => $_POST[veri] ) ));
}
}
请知道
答案 0 :(得分:0)
问题在于你的JavaScript:你创建了多个表单,但是你的js,
document.getElementById("veri_hidden").value = document.getElementById("veri").innerHTML;
只获取id为'veri_hidden'和'veri'的第一个元素。
off-course你不应该让多个html元素具有相同的id。