对不起我的英语。我有一个来自 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] ) ));
}
}
请有什么想法
最佳答案
问题出在你的 JavaScript 上:你创建了多个表单,但你的 js
document.getElementById("veri_hidden").value = document.getElementById("veri").innerHTML;
仅获取 ID 为“veri_hidden”和“veri”的第一个元素。
当然,你不应该让多个 html 元素具有相同的 id。
关于javascript - mysql 到 div 到 textarea 到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26800664/