php - 如何从第二个表中打印出我的所有数据
问题描述
我有一个带有两张桌子的 CRUD。
我已经完成了 CRUD 直到更新功能。
问题是我无法从第二个表中获取数据以正确打印出来。
我尝试过使用 for 循环、foreach 循环、while 循环以及我能想象到的所有循环来尝试循环遍历数据,但似乎没有任何效果。
if (isset($_GET['edit'])) {
$id = $_GET['edit'];
$result = $mysqli->query("SELECT * FROM personal where id=$id") or die($mysqli->error);
while ($row = mysqli_fetch_assoc($result)) {
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$email = $row['email'];
$phone_number = $row['phone_number'];
$result2 = $mysqli->query("SELECT * FROM phone where user_id=$id") or die($mysqli->error);
} while ($row2 = mysqli_fetch_assoc($result2)) {
$phone_number2 = $row2['phone_number2'];
var_dump($phone_number2);
}
}
这种情况下的 var_dump 会转储表中的所有数据,但是当我在编辑页面中获得相同的数据时,我只会得到最后一个结果。
编辑页面
<form class="col-md-8 col-sm-8 col-8" id="userform" name="form" action="process.php" method="post">
<div class="form-group">
<label class="col-lg">Name *</label>
<input type="text" id="first_name" name="first_name" class="form-control" value="<?php echo $first_name; ?>" placeholder="Enter your name">
</div>
<div class="form-group">
<label class="col-lg">Last name *</label>
<input type="text" id="last_name" name="last_name" class="form-control" value="<?php echo $last_name; ?>" placeholder="Enter your last name" >
</div>
<div class="form-group">
<label class="col-lg">Email *</label>
<input type="email" id="email" name="email" class="form-control" value="<?php echo $email; ?>" placeholder="Enter your email" >
</div>
<div id="tel_number" class="form-group">
<table class="table">
<tr>
<label>Phone numbers *</label>
<input type="tel" id="phone_number" name="phone_number" class="form-control col-md-12" value="<?php echo $phone_number; ?>" placeholder="Enter your phone number" >
</tr>
</table>
<table class="table">
<tr>
<?php if ($phone_number2 > 1): ?>
<?php var_dump($phone_number2); ?>
<input type="tel" id="phone_number2" name="phone_number2" class="form-control col-md-12" value="<?php echo $phone_number2; ?>" placeholder="Enter your phone number" >
<?php endif ?>
</tr>
</table>
</div>
<input type="hidden" name="update_id" value="<?php echo $post['id']; ?>">
<button type="submit" class="btn btn-outline-primary col-lg" name="update">Update</button>
</form>
我的目标是完整打印第二张表中的数据,无论一个用户有一个还是七个电话号码。
我得到的结果在下面的链接中提供: https ://www.dropbox.com/s/gt69ovv16r5lfh7/var_dump%28%24phone_number2%29.png?dl=0
解决方案
您得到的结果是有序的,因为在第二个循环中处理的 $result2 变量恰好是第一个循环中查询其 user_id 的最后一个用户的变量。为了获得为每个用户显示的电话号码,第二个循环应该在 $result2 变量设置后立即嵌套在第一个循环中。
推荐阅读
- android - java.net.UnknownHostException:无法解析主机“domain.com”:没有与主机名关联的地址
- python - 需要安装 PyOpenGL (Windows)
- pine-script - 如何为使用 stop、trail_points 和 trail_offset 的 strategy.exit 设置交易视图 pine 脚本警报通知
- java - 将数字列表合并到低于和最接近上限数字的算法
- .net - 在 vb.net 中使用 RGB 整数检测图片中的颜色
- c - 如何修复 fftw3 库的“sincos@@GLIBC_2.2.5”未定义参考
- flutter - 如何将sha256的摘要添加到颤动的字符串中?
- javascript - 打开层 6.1。- 具有多点功能的弹出窗口
- microsoft-graph-api - MSGraph 日历事件 多个通知
- arrays - 如何通过两个变量集循环 API 调用