我正忙于创建一个网站,让用户可以举办晚宴并参加陌生人的晚宴。我目前正在开发显示某个用户已输入的晚餐的页面。我使用此代码来显示有关晚餐和用户的所有必要详细信息:
$id = $_POST['id'];
$sql = "SELECT g.straatnaam, g.huisnummer, g.woonplaats,
g.voornaam, g.email, d.tijd, d.datum, d.gerecht, d.capaciteit, d.prijs
FROM gebruikers g
INNER JOIN diner d on g.id = d.gebruikersid
WHERE g.id='$id' ";
mysql_select_db('nassen_database');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$adres = $row['adres'];
$woonplaats = $row['woonplaats'];
$voornaam = $row['voornaam'];
$email = $row['email'];
$gerecht = $row['gerecht'];
$capaciteit = $row['capaciteit'];
$prijs = $row['prijs'];
$tijd = $row['tijd'];
$datum = $row['datum'];
echo "<ul>";
echo "<h3> Eetprofiel van " .$row['voornaam']. "</h3>";
echo "<li> Woonplaats: " .$row['woonplaats']. "</li>";
echo "<li> Adres: " .$row['straatnaam']. " " .$row['huisnummer']. "</li>";
echo "<li> Meld je aan door een mailtje te sturen naar " .$row['email']. "</li>";
echo "<h3> Op het menu staat " .$row['gerecht']. "</h3>";
echo "<li> Het diner vindt plaats op " .$row['datum']. " om " .$row['tijd']. " uur </li>";
echo "<li> Capaciteit: " .$row['capaciteit']. " personen</li>";
echo "<li> Het kost " .$row['prijs']. " credits </li>";
echo "</ul>";
}
mysql_close($conn);
?>
该代码运行完美,但是当一个用户提交了两份晚餐时,该用户的地址和城市也会显示两次。我只想显示用户的地址、电子邮件和城市一次(在此代码中称为 straat、huisnummer、woonplaats、email 和 voornaam)。
我现在得到这个结果:
我希望“Eetprofiel van Pram”仅显示一次,并且“Op het Menu Staat...”均显示。我如何更改我的代码才能得到它?
最佳答案
理想情况下,用户数据应存储在不同的表中并单独获取。现在,对于您的特定问题,您可以单独获取用户数据一次并在 while() 循环中忽略它,或者使用如下条件语句:
$foo = 1;
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$adres = $row['adres'];
$woonplaats = $row['woonplaats'];
$voornaam = $row['voornaam'];
$email = $row['email'];
$gerecht = $row['gerecht'];
$capaciteit = $row['capaciteit'];
$prijs = $row['prijs'];
$tijd = $row['tijd'];
$datum = $row['datum'];
if($foo == 1) {
echo "<ul>";
echo "<h3> Eetprofiel van " .$row['voornaam']. "</h3>";
echo "<li> Woonplaats: " .$row['woonplaats']. "</li>";
echo "<li> Adres: " .$row['straatnaam']. " " .$row['huisnummer']. "</li>";
echo "<li> Meld je aan door een mailtje te sturen naar " .$row['email']. "</li>";
$foo = 0;
}
echo "<h3> Op het menu staat " .$row['gerecht']. "</h3>";
echo "<li> Het diner vindt plaats op " .$row['datum']. " om " .$row['tijd']. " uur </li>";
echo "<li> Capaciteit: " .$row['capaciteit']. " personen</li>";
echo "<li> Het kost " .$row['prijs']. " credits </li>";
echo "</ul>";
}
关于php - 如何避免某个 php 部分的多次回显?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42905293/