【发布时间】:2013-12-06 09:46:56
【问题描述】:
如何检查两个特定列上的相同值的 while 循环? 如果两列上存在相同的值,则输出应该与没有匹配的情况不同。这是我现在的 while 语句:
数据库连接:
<?php
$sql="SELECT id, name, phone, primaryfile FROM `users`";
$stmt=$generic->query($sql);
$count = $stmt->rowCount();
?>
While 语句:
<?
while($data = $stmt->fetch(PDO::FETCH_ASSOC)) :
?>
输出:
<table>
<tbody>
<tr>
<td><?php echo $data['id'];?>;<?php echo $data['name'];?>;<?php echo $data['phone'];?>;<?php echo $data['primaryfile'];?>;</td>
</tr>
</tbody>
</table>
这会将每个结果输出为我表上的一行。
但是如果在多行的列 id 和 primaryfile 上存在相同的值,那么它应该将这些行合并为一行并输出如下:
<table>
<tbody>
<tr>
<td><?php echo $data['id'];?>;<?php echo $data['name'];?>;<?php echo $data['name of second row having same id and primaryfile'];?>;<?php echo $data['phone'];?>;<?php echo $data['phone of second row having same id and primaryfile'];?>;<?php echo $data['primaryfile'];?>;</td>
</tr>
</tbody>
</table>
提前致谢
【问题讨论】:
-
请解释清楚。
-
您可能应该在数据库级别进行此类检查
-
编辑你的查询有点像'SELECT id, name, phone, primaryfile FROM
usersORDER BY id ASC' -
您使用的是哪个 DBMS?