php - 在 PHP 中获取数据
问题描述
我有<table>
那个显示数据。我有一个按钮,如果我点击,数据将显示在#datacontainer
. 但问题是只显示了我表中的第一行。
这是我的代码
HTML - 这是表格,假设我的表格(数据库)中有 4 个数据,但第一行仅在您单击按钮时显示数据。
<table>
<tr>
<th width="15%;">Image</th>
<th width="0">ID</th>
<th width="50%;">Name</th>
<th>Action</th>
</tr>
<?php while ($row = mysqli_fetch_array($accounts)) { ?>
<tr>
<td><img src="images/<?php echo $row['image']; ?>"></td>
<td><?php echo $row['id']; ?><input type="text" id="text_id" value="<?php echo $row['id']; ?>"></td>
<td><?php echo $row['lastname']; ?>, <?php echo $row['firstname']; ?></td>
<td>
<i class="fab fa-reddit-alien" id="showdatacontainer" onclick="return chk()"></i>
<i class="far fa-edit" style="margin: 0 7% 0 7%;"></i>
<i class="fas fa-trash"></i>
</td>
<td>
</td>
<td>
</td>
</tr>
<?php } ?>
</table>
<div id="datacontainer"></div>
Javascript - 这是我的 jquery 代码
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
function chk()
{
$("#datacontainer").slideToggle(300);
var id = document.getElementById('text_id').value;
var dataString = 'id='+ id;
$.ajax({
type: "post",
url: "showdata.php",
data:dataString,
cache:false,
success: function(data){
$("#datacontainer").html(data);
}
});
return false;
}
</script>
PHP - 这是我的 PHP 代码“showdata.php”
<?php
$db = mysqli_connect('localhost', 'root', '', 'psbr');
if (isset($_POST['id'])) {
$id = $_POST['id'];
$accounts = mysqli_query($db, "SELECT * from accounts where id = '$id'");
}
?>
<table>
<?php while ($row = mysqli_fetch_array($accounts)) { ?>
<tr>
<td class="w"><h1>Name</h1></td>
</tr>
<tr>
<td><?php echo $row['lastname']; ?></td>
</tr>
<?php } ?>
</table>
<style type="text/css">
.w
{
font-size: 12vh;
}
</style>
请帮我解决这个问题谢谢!:D
解决方案
您正在通过 ID 获取值,但有几个元素具有相同的 ID,因为您处于循环中,因此,您总是会得到第一个答案。
<td><?php echo $row['id']; ?><input type="text" id="text_id" value="<?php echo $row['id']; ?>"></td>
推荐阅读
- python - 如何使用 python 创建 EC2 实例并附加已创建的安全组
- javascript - 将一个页面重定向到另一个页面 10 秒,然后再次重定向回原始 URL
- swift - 为什么这段代码会产生如此令人困惑的错误信息?
- r - 用 dopar 迭代地运行 foreach
- django - 处理wsgi脚本时出现异常
- python - 用 dtype 写 csv
- c# - 控制台中的简单菜单,带有 try and catch
- java - SSLR Toolkit 中的 next() 方法的案例
- spring-boot - 有没有办法将 OpenAPI 规范转换为 Spring Cloud 合约?
- vb.net - VB.NET 运算符“&”未为字符串和类型“内部字段”定义