如何将 if 放入 HTML/PHP 中的变量中

How to put if in an variable in HTML/PHP

我只是从PHP开始,并没有太多知识。但我想通过按一个按钮生成一封邮件。到目前为止有效。但是现在我有行 Anrede: ".$row["anrede"]."%0D%0A。这是 Herr、Frau 和其他人的 ENUM。但我也用其他语言(法语、意大利语)得到了它,我想为 Herr 输出 Monsineur,为 Frau 输出 Madamme,为 Other 输出 autres。

我试过

 "if ($row['anrede'] == 'Herr' ){
              echo "Monsieur";
          }
          if ($row['anrede'] == 'Frau') {
              echo "Madame"; 
          }       
          if ($row['anrede'] == 'other') {
              echo "autres"; 
          }"

这里是完整代码

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    </head>
    <body>


    <?php
    $host = "";
    $username = "";
    $password = "";
    $dbname = "";
    $port = "";
    $socket = "";

    // initiate new mysqli object
    $mysqli = new mysqli($host, $username, $password, $dbname, $port, $socket);

    if(mysqli_connect_errno())
    {
      printf("Verbindungsfehler:  %s\n". mysqli_connect_error());
      exit();
    }

    $queryString = "SELECT anrede, vorname, nachname, strasse , plz, ort , strasser, plzr, ortr, firma, funktion, email, sektion, anfahrt, uebernachtung, status, ksprache, usprache, aktiv FROM tab_teilnehmer WHERE aktiv = 1";
    $queryResult = $mysqli->query($queryString);



    while ($row = mysqli_fetch_assoc($queryResult)) {

      echo "<tr>";
      echo "<td><a href='mailto:" . $row["email"] . "?subject=Test&amp;body=      
------------------DE------------------    
%0D%0AVielen Dank für Ihre Anmeldung Frau/Herr " . $row["nachname"] ."
%0D%0AHier Ihre Anmeldedaten:%0D%0A%0D%0A
Anrede:: ".$row["anrede"]."%0D%0A
Vorname: ".$row["vorname"]."%0D%0A
Nachname: ".$row["nachname"]."%0D%0A
Strasse: ".$row["strasse"]."%0D%0A
PLZ/Ort: ".$row["plz"].", ".$row["ort"]."%0D%0A
Strasse(Rechn.): ".$row["strasser"]."%0D%0A
PLZ/Ort(Rechn.): ".$row["plzr"].", ".$row["ortr"]."%0D%0A
Firma: ".$row["firma"]."%0D%0A
Funktion: ".$row["funktion"]."%0D%0A
E-Mail: ".$row["email"]."%0D%0A
Anfahrt: ".$row["anfahrt"]."%0D%0A
Übernachtungsart: ".$row["uebernachtung"]."%0D%0A
Sektion: ".$row["sektion"]."%0D%0A
Status: ".$row["status"]."%0D%0A
Korrespondenz-/Übersetzungssprache: ".$row["ksprache"].", ".$row["usprache"]."%0D%0A%0D%0A
------------------FR------------------
%0D%0AMerci beaucoup pour votre inscription madame/monsineur " . $row["nachname"] ."
%0D%0AVoici vos identifiants de connexion:%0D%0A%0D%0A
Anrede: ".$row["anrede"]."%0D%0A
Vorname: ".$row["vorname"]."%0D%0A
Nachname: ".$row["nachname"]."%0D%0A
Strasse: ".$row["strasse"]."%0D%0A
PLZ/Ort: ".$row["plz"].", ".$row["ort"]."%0D%0A
Strasse(Rechn.): ".$row["strasser"]."%0D%0A
PLZ/Ort(Rechn.): ".$row["plzr"].", ".$row["ortr"]."%0D%0A
Firma: ".$row["firma"]."%0D%0A
Funktion: ".$row["funktion"]."%0D%0A
E-Mail: ".$row["email"]."%0D%0A
Anfahrt: ".$row["anfahrt"]."%0D%0A
Übernachtungsart: ".$row["uebernachtung"]."%0D%0A
Sektion: ".$row["sektion"]."%0D%0A
Status: ".$row["status"]."%0D%0A
Korrespondenz-/Übersetzungssprache: ".$row["ksprache"].", ".$row["usprache"]."%0D%0A%0D%0A
------------------IT------------------
%0D%0AGrazie mille per la vostra registrazione signora/signore " . $row["nachname"] ."
%0D%0AEcco i tuoi dati di accesso:%0D%0A%0D%0A
Anrede: ".$row["anrede"]."%0D%0A
Vorname: ".$row["vorname"]."%0D%0A
Nachname: ".$row["nachname"]."%0D%0A
Strasse: ".$row["strasse"]."%0D%0A
PLZ/Ort: ".$row["plz"].", ".$row["ort"]."%0D%0A
Strasse(Rechn.): ".$row["strasser"]."%0D%0A
PLZ/Ort(Rechn.): ".$row["plzr"].", ".$row["ortr"]."%0D%0A
Firma: ".$row["firma"]."%0D%0A
Funktion: ".$row["funktion"]."%0D%0A
E-Mail: ".$row["email"]."%0D%0A
Anfahrt: ".$row["anfahrt"]."%0D%0A
Übernachtungsart: ".$row["uebernachtung"]."%0D%0A
Sektion: ".$row["sektion"]."%0D%0A
Status: ".$row["status"]."%0D%0A
Korrespondenz-/Übersetzungssprache: ".$row["ksprache"].", ".$row["usprache"]."
      '>Mail</a></td>"; 
        echo "</tr>";
    } 

    ?>  

    </body>
</html>

也许是这样的

在循环中添加这个(你的 while)

if ($row['anrede'] == 'Herr' ){
    $temp = "Monsieur";
}
if ($row['anrede'] == 'Frau') {
    $temp = "Madame";
}
if ($row['anrede'] == 'other') {
    $temp = "autres";
}

您需要根据 anrede 值将值设置到变量中。 如果 anrede 值为 Frau,请将 $temp 值设置为 Madame。并在需要的地方调用 $temp

您必须停止打印,然后添加if条件,然后继续打印。或者你可以考虑三元,但我会坚持你的想法以获得更好的可读性。

像这样:

echo "<td><a href='mailto:" . $row["email"] . "?subject=Test&amp;body=      
------------------DE------------------    
%0D%0AVielen Dank für Ihre Anmeldung Frau/Herr " . $row["nachname"] ."
%0D%0AHier Ihre Anmeldedaten:%0D%0A%0D%0A
Anrede:: ";

if ($row['anrede'] == 'Herr' ){
    echo "Monsieur";
} else if ($row['anrede'] == 'Frau') {
    echo "Madame"; 
} else if ($row['anrede'] == 'other') {
    echo "autres"; 
}

echo "%0D%0A
Vorname: ".$row["vorname"]."%0D%0A
......";
// continue echo

我建议使用此 switch 代码段,它可以防止在未设置 $row['anrede'] 时以及使用 echo-ing 而不是使用 $temp 变量时引起注意.

$anrede = isset($row['anrede']) ? $row['anrede'] : null;

switch($anrede) {
 case 'Herr':
   echo 'Monsieur';
 break;
 case 'Frau':
   echo 'Madame';
 break;
 default:
   echo 'autres';
}