如果我的数据库中有很多数据,如何只回显一次我的数据

时间:2018-03-31 06:44:51

标签: php sql database for-loop livesearch

这是我的代码

$sql = "select * from tbproduk where namaproduk LIKE '$produk%'";
$query = mysqli_query($con, $sql) or die("error $sql");
$num = mysqli_num_rows($query);
$result = mysqli_fetch_array($query);
for ($x = 1; $x <= $num; $x++) {
    $namaproduk = $result['namaproduk'];
    echo "<button style='color: black;text-align: left'><a style='padding: 0;line-height: 0;color: black;background: none' href='Konfirmasi/index4.php?produk=$namaproduk'>".$namaproduk ."</a></button><br>";
}

如您所见,它将回显我数据库中的所有数据,但我在数据库中具有相同的数据名称。这是我的数据库数据。 this is my database data

所以,当它回响时,就会像这样 result

如果有相同的数据,如何循环我的代码。

3 个答案:

答案 0 :(得分:0)

您可以使用此查询

$sql = "select * from tbproduk where namaproduk LIKE '$produk%' group by namaproduk";

答案 1 :(得分:0)

您需要从数据库中选择不同的记录。如下更改您的查询:

$sql = "select DISTINCT namaproduk from tbproduk where namaproduk LIKE '$produk%'";

答案 2 :(得分:0)

你也可以这样做:

$sql = "select distinct tp.namaproduk, tp.id, tp.harga, tp.pembeli, tp.namagmbr from tbproduk as tp where namaproduk LIKE '$produk%' ORDER BY id";

MySql关键字DISTINCT可以解决问题。