【问题标题】:How to skip repeated data using php and mysqli如何使用 php 和 mysqli 跳过重复数据
【发布时间】:2017-05-23 17:08:49
【问题描述】:

我想删除行中的重复数据。

请看表:

我的代码如下:

$host = "localhost";
$user = "user";
$password = "pass";
$database = "test4";
$cxn = mysqli_connect($host,$user,$password,$database) or die ("Connection Error");

$query = "SELECT * FROM sample";
$result = mysqli_query($cxn, $query);
$field_row = mysqli_num_rows($result);
$fields_num = mysqli_num_fields($result);

echo "<h1>Table: $database </h1>";
echo " <table border='1' width='50%'><tr> ";
// printing table headers
for ($i=0; $i<$fields_num; $i++){
$field = mysqli_fetch_field($result);
echo "<td><b>{$field->name}</b></td> ";
}
echo "</tr>\n";
// printing table rows
while ($row = mysqli_fetch_row($result)){
echo "<tr>";
// $row is array... foreach(..)put every element
// of $row to $cell variable
 foreach ($row as $cell){
 echo " <td>$cell</td> ";
}
echo "</tr>\n";
}

我想要的是结果显示为

  • 要删除重复的“date”和“transac”。

希望大家能给我一个更好的解决方案~!
非常感谢~!

【问题讨论】:

  • datetransac的值保存在变量中。如果当前行中的值与变量相同,则输出一个空白单元格而不是该行中的值。

标签: php arrays mysqli


【解决方案1】:

如果您不想重复获得相同的值,则必须在查询中使用DISTINCT。所以你的查询应该是

$query = "SELECT DISTINCT DATE, TRANSAC FROM table_name";

当查询将执行时,它不会为 DATE 和 TRANSAC 字段检索两次相同的值。 参考:https://www.w3schools.com/sql/sql_distinct.asp

【讨论】:

  • 别以为这就是他所追求的。他想通过显示一个空白单元格来直观地对其进行重复数据删除。
猜你喜欢
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 2017-10-25
相关资源
最近更新 更多