内联可编辑行以使用 ajax php 更新数据库 mysql 中的每个记录
Posted
技术标签:
【中文标题】内联可编辑行以使用 ajax php 更新数据库 mysql 中的每个记录【英文标题】:Inline editable row to update each records in database mysql using ajax php 【发布时间】:2017-01-27 10:35:30 【问题描述】:这个问题与Error in ajax insert database 相关。很多建议,但没有一个有帮助。
可以看演示:http://phppot.com/php/php-mysql-inline-editing-using-jquery-ajax/
我在使用 ajax、PHP 和 mysql 编辑数据库中的记录时遇到了麻烦。
表dsdonhang
有很多记录,每条记录执行一个命令。我希望最后一列显示一个名为mavandon
的字符串(跟踪运输),并且可以使用onBlur
触发器对其进行内联编辑。
ajax函数用2个参数发送数据:
$idd:要编辑的行
文本:要更新的值
index.php:
<?php
$query = mysqli_query($conn,"SELECT * FROM dsdonhang");
while($row=mysqli_fetch_assoc($query))
$data[] = $row;
foreach($data as $k=>$v)
?>
<tr>
<td><?php $madon = $data[$k]["idd"];echo $k+1; ?></td>
<td><?php echo $data[$k]["donhang"]; ?></td>
<td contenteditable="true" onBlur="SOMETHING..."><?php echo $data[$k]["mavandon"]; ?></td>
</tr>
<?php
?>
表结构dsdonhang
:
idd int(11) PRIMARY NOT NULL
donhang varchar(50) NOT NULL
mavandon varchar(12) NOT NULL
如果您有任何想法或建议,请指导我。这对我有很大帮助。谢谢!
【问题讨论】:
为什么在while循环中加载一个数组,然后错误地处理数组。为什么不在while循环中输出表格行 在尝试对其运行查询之前连接到数据库会很有用 如果你也looked at how aforeach
loop works 会是个好主意
对不起,我没有复制mysqli_connect
函数,我之前已经用过了
如果使用while
而不是foreach
,我无法处理$idd
?!?
【参考方案1】:
似乎没有理由加载一个数组然后处理该数组,因为这一切都可以在 while 循环中完成。
<?php
$query = mysqli_query($conn,"SELECT * FROM dsdonhang");
while($row=mysqli_fetch_assoc($query))
echo '<tr>';
echo '<td>' . $row['idd'] . '</td>';
echo '<td>' . $row['donhang'] . '</td>';
echo '<td contenteditable="true" onBlur="SOMETHING...">' . $row['mavandon'] . '</td>';
echo '</tr>';
?>
【讨论】:
谢谢,我明白了。但主要问题仍未解决以上是关于内联可编辑行以使用 ajax php 更新数据库 mysql 中的每个记录的主要内容,如果未能解决你的问题,请参考以下文章
AJAX PHP MYSQL 更新/编辑记录 (jQuery)