【发布时间】:2013-09-16 18:06:59
【问题描述】:
我的数据库中有一个这样的表:
IdUser | Name | Surname |
还有一个结构如下的表
IdPN | IdUser | PhoneNumber
这个表的PK是IdPN,所以每个用户可以有多个电话号码。
现在我从第一个表中获取数据,用于在我的 HTML 页面中填充一个表。我想要这样的东西:
name | Surname| numbers |
_____|________|__________|
John | Doe | 21212121 |
| | 23424324 |
_____|________|__________|
Frank|Johnson | 23222111 |
| | 23747347 |
| | 36363636 |
_____|________|__________|
所以第三列可以有多个数字。
当我为每个用户只有一个号码时,我使用的代码 php 如下:
<?php
$connectiondb->set_charset("utf8");
$query= "SELECT name, surname, phonenumber
FROM users";
if ($stmt = $connectiondb->prepare($query)) {
$stmt->execute();
$stmt-bind_result($nome,$cognome,$phonenumber);
while($stmt->fetch()){
echo '<tr>';
echo '<td>'.$nome.'</td>';
echo '<td>'.$cognome.'</td>';
echo '<td>'.$phonenumber.'</td>';
echo '</tr>';
}
$stmt->close();
?>
如何更改代码以显示表(用户)的每一行的多个数字?
【问题讨论】:
-
"SELECT name, surname, phonenumber FROM users"怎么可能跑?我虽然 phonenumber 来自与其他 2 个不同的表? -
您需要为每个带有自己的 idPN 的电话号码设置一行,否则您将在使用该表时受到伤害。另外我建议添加一个“类型”列来区分工作与家庭等
-
@Jordan 我说的是我的旧代码,当时每个用户的 phoenumber 只是一个,所以不需要第二个表。