如果我的数据库中有很多数据,如何只回显我的数据一次
how to echo my data only once if there's many data in my database
这是我的代码
$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>";
}
如您所见,它将回显我数据库中的所有数据,但我在数据库中具有相同的数据名称。这是我的数据库数据。
所以回显时会是这样
如果有相同的数据,如何循环一次我的代码。
您可以使用这个查询
$sql = "select * from tbproduk where namaproduk LIKE '$produk%' group by namaproduk";
您需要select 区分数据库中的记录。更改您的查询如下:
$sql = "select DISTINCT namaproduk from tbproduk where namaproduk LIKE '$produk%'";
您也可以这样做:
$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
就可以了。
这是我的代码
$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>";
}
如您所见,它将回显我数据库中的所有数据,但我在数据库中具有相同的数据名称。这是我的数据库数据。
所以回显时会是这样
如果有相同的数据,如何循环一次我的代码。
您可以使用这个查询
$sql = "select * from tbproduk where namaproduk LIKE '$produk%' group by namaproduk";
您需要select 区分数据库中的记录。更改您的查询如下:
$sql = "select DISTINCT namaproduk from tbproduk where namaproduk LIKE '$produk%'";
您也可以这样做:
$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
就可以了。