我正在忙着创建一个网站,让用户可以主持晚宴并参加陌生人的晚宴。我目前正在处理显示某个用户已输入的晚餐的页面。我使用此代码显示有关晚餐和用户的所有必要细节:
System.DirectoryServices.AccountManagement.PrincipalOperationException: While trying to resolve a cross-store reference, the SID of the target principal could not be resolved. The error code is 5.
代码工作正常,但当一个用户提交了两个晚餐时,用户的地址和城市也会显示两次。我想只显示用户的地址,电子邮件和城市一次(在此代码中称为straat,huisnummer,woonplaats,email和voornaam)。
我现在得到这个结果:
我希望“Eetprofiel van Pram”只显示一次,并显示“Op het Menu Staat ...”。如何更改我的代码才能获得该代码?
答案 0 :(得分:2)
理想情况下,用户数据应存储在不同的表中并单独提取。现在针对您的特定问题,您可以单独获取用户数据一次并在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>";
}
答案 1 :(得分:0)
如果您一次只显示一个用户的晚餐,您可以使用布尔变量来表示当前迭代是否是第一个,并且仅在该情况下打印用户的数据
$first = true;
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)){
echo "<ul>";
if($first){
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>";
$first = false;
}
$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 "<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>";
}