如何避免某个php部分的多重回声?

时间:2017-03-20 13:47:52

标签: php html mysql sql echo

我正在忙着创建一个网站,让用户可以主持晚宴并参加陌生人的晚​​宴。我目前正在处理显示某个用户已输入的晚餐的页面。我使用此代码显示有关晚餐和用户的所有必要细节:

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)。

我现在得到这个结果:

I get this result right now

我希望“Eetprofiel van Pram”只显示一次,并显示“Op het Menu Staat ...”。如何更改我的代码才能获得该代码?

2 个答案:

答案 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>"; 
}