如何使用整个html表更新数据库(PHP,MySQL)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用整个html表更新数据库(PHP,MySQL),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2166字,纯文字阅读大概需要4分钟。
内容图文
![如何使用整个html表更新数据库(PHP,MySQL)](/upload/InfoBanner/zyjiaocheng/907/a9cd740398fe4d67a184de767e2c436b.jpg)
我已经好几天了.我已经搜索了如何更新表,并设法获得更新行,但只有表中的最后一行.所以现在我想要一个循环遍历所有输入并用输入的值更新数据库.我认为需要纠正的代码位于代码末尾附近
我想做的事:
>在html表中获取/显示数据库
>更改某些列的值
>使用提交按钮更新数据库表,该按钮更新数据库中的每一行
下面是Web视图中表格的图片:
<?php
//Connect to database
include '../db/connect.php';
?>
<form action='test7.php' method="post">
<table border='1'>
<?php
$result = $MySQLi_CON->query("SELECT * FROM users");
echo "<tr>";
echo "<td colspan='3'>CLASS 1</td>";
echo "</tr>";
//All table rows in database presented in html table
while($row = $result->fetch_array()){
echo "<tr>";
echo "<td><input type='hidden' name='user_id[]' value='".$row['user_id']."' /></td>";
echo "<td>username :<input type='text' name='username[]' value='".$row['username']."' /></td>";
echo "<td>email :<input type='text' name='email[]' value='".$row['email']."' /></td>";
echo "<td>rank :<input type='number' name='rank[]' value='".$row['rank']."' /></td>";
echo "</tr>";
}
echo "<input type='submit' name='update' value='UPDATE' />";
?>
<table>
</form>
<?php
if(isset($_POST['update'])){
$total = count($_POST['rank']);
$user_id_arr = $_POST['user_id'];
$rank_arr = $_POST['rank'];
for($i = 0; $i < $total; $i++){
$user_id = $user_id_arr[$i];
$rank = $rank_arr[$i];
$query = "UPDATE users SET `rank`= '".$rank."' WHERE `user_id`= '".$user_id."'";
$MySQLi_CON->query($query);
header('Location: test7.php');
}
}
?>
当我按UPDATE按钮时,我得到PHP注意:数组到字符串转换….
它指的是第30行,它是这一行:
$query =“UPDATE用户SET rank = $_ POST [rank] [$row] WHERE user_id = $value”;
编辑:编辑上面的代码到工作代码.谢谢@Frayne Konok的帮助.
解决方法:
You did a great mistake here, Why you use the
$result
in foreach
loop?? FRom where the$result
comes?? The$result
is the resource
of thesql
query.
试试这个:
if(isset($_POST['update'])){
$total = count($_POST['rank']);
$user_id_arr = $_POST['user_id'];
$rank_arr = $_POST['rank'];
for($i = 0; $i < $total; $i++){
$user_id = $user_id_arr[$i];
$rank = $rank_arr[$i];
$query = "UPDATE users SET `rank`= '".$rank."' WHERE `user_id`= '".$user_id."'";
$MySQLi_CON->query($query);
}
}
试试这个,让我知道是否有任何问题.
内容总结
以上是互联网集市为您收集整理的如何使用整个html表更新数据库(PHP,MySQL)全部内容,希望文章能够帮你解决如何使用整个html表更新数据库(PHP,MySQL)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。