Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] verschachtelte while-if anweisung in echo ausgabe

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] verschachtelte while-if anweisung in echo ausgabe

    Hallo! Hab nen Problem bei einer Ausgabe eines textes anhand einer if anweisung die prüft ob art_active_flag=== 0 oder 1 ist. Ich probier schon 2 stunden daran rum und die Basics helfen mir auch nicht mehr weiter. Ich hab vorher versucht das ausserhalb der whileschleife anhand einer variable zu lösen aber dann generiert er nur 1 ergebnis logischerweise also vermute ich das die if-anweisung innerhalb der whileschleife sein muss. Ich komm auf keinen grünen Ast hierbei. Oder muss ich diese Funktion auch extern in eine andere datei portieren? Vielen lieben Dank!

    PHP-Code:
    <?php // Artikelauflistung
    mysql_connect("localhost""root""")
        or die(
    "Keine Verbindung möglich: " mysql_error());
    mysql_select_db("eshop");

    $result=mysql_query("SELECT * FROM article");
    //$activecheck=$zeile['art_active_flag'];
    while ($zeile=mysql_fetch_assoc($result))
        {
        echo 
        
    '<tr><td><img src="img/'.$zeile['art_pic'].'" alt="Fehler!">'.'</td> 
        <td>'
    .$zeile['art_name'].'</td>
        <td>'
    .$zeile['art_text'].'</td>
        <td>Farbe(n):'
    .$zeile['art_color'].'</td>
        <td>Farbe(n):'
    .$zeile['art_sex'].'</td>
        <td>Preis:'
    .$zeile['art_price'].'</td>
        <td>Aktiv:'
    .'if $zeile['art_active_flag']===1;{
        echo '
    Ja';
        }
        else{
        echo '
    Nein';
        }'
    .'</td>    
        <td><a href="JPformular1.php?id='
    .$zeile['art_id'] . '">Löschen</a>'.'</td>
        <td><a href="change_off.php?id='
    .$zeile['art_id'] . '">Aus</a>'.'</td>
        <td><a href="change_on.php?id='
    .$zeile['art_id'] . '">Ein</a></td></tr>'
        
    ;
        }  
    ?>


  • #2
    Benutzt du eine IDE?
    Die zeigt dir "doch gleich" den Fehler, genauso wie der Syntaxhighlighter hier im Forum...

    Schon fündig geworden?

    Kommentar


    • #3
      [man]if[/man]-Syntax
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Du kannst auch keine IF Anweisung mit einem String konkatenieren. Dafür musst du schon den String unterbrechen und den String in der IF Anweisung entsprechend verändern.

        Kommentar


        • #5
          dacht ich mir schon des des nich geht och manno
          Gibs irgendwo nen supi tutorial das mir das erklärt? Will doch nur ja oder nein ausgegeben haben wenn 0 oder 1 da steht.

          Und ich muss mal meckern! Ihr schreibt/Antwortet mir bissle zu schnell. So schnell kann man garnich Denken+Programmiern+Testen+Antworten!

          Also bau ich eine Variable in der auszugebenden stelle, die ich vor oder nach while-schleife die if-anweisung ausführen lasse? davor hatte ich bereits ja schon probiert aber da liefert er mir kein ergebnis.

          Kommentar


          • #6
            Die IF Abfrage kannst du schon in der while-Schleife setzen. Allerdings kannst du sie nicht mitten in einem String verwenden. Du musst schon den String beenden, dann die IF Abfrage schreiben, dem String ein JA oder NEIN anhängen und nach der IF Abfrage kannst du ganz normal den String weiter erweitern.

            Und wenn dir die Antworten zu schnell sind kannste sie ja Ausdrucken und später lesen

            Kommentar


            • #7
              das test ich mal. mit der vorüberlegung aber das meine if anweisung ja die whileschleife durchlaufen soll da mir ja eine liste generiert wird. und da ich ja den string der while schleife beende mit ; is die ja vorbei oder lieg ich grad falsch? Ach quatsch stimmt ja beendet is ja erst mit } und mit; nur die verkettung!

              Kommentar


              • #8
                Nein du kannst zwischen den geschweiften Klammern beliebig viele Befehle verwenden.

                Kommentar


                • #9
                  Habs jetzt grad so und ich meine es funktioniert ^^ Oh man ich glaub ich bin jetzt schon 2 Kasten Bier schuldig ^^
                  Is das so sauber gecoded oder geht das kürzer und einfacher?
                  PHP-Code:
                  <?php // Artikelauflistung
                  mysql_connect("localhost""root""")
                      or die(
                  "Keine Verbindung möglich: " mysql_error());
                  mysql_select_db("eshop");

                  $result=mysql_query("SELECT * FROM article");

                  while (
                  $zeile=mysql_fetch_assoc($result))
                      {
                      echo 
                      
                  '<tr><td><img src="img/'.$zeile['art_pic'].'" alt="Fehler!">'.'</td> 
                      <td>'
                  .$zeile['art_name'].'</td>
                      <td>'
                  .$zeile['art_text'].'</td>
                      <td>Farbe(n):'
                  .$zeile['art_color'].'</td>
                      <td>Farbe(n):'
                  .$zeile['art_sex'].'</td>
                      <td>Preis:'
                  .$zeile['art_price'].'</td>
                      <td><a href="JPformular1.php?id='
                  .$zeile['art_id'] . '">Löschen</a>'.'</td>
                      <td><a href="change_off.php?id='
                  .$zeile['art_id'] . '">Aus</a>'.'</td>
                      <td><a href="change_on.php?id='
                  .$zeile['art_id'] . '">Ein</a></td>';
                      echo 
                  '<td>Aktiv:';
                      if (
                  $zeile['art_active_flag']==1)
                      {
                      echo 
                  'Ja';
                      }
                          else
                          {
                          echo 
                  'Nein';
                          }
                      echo 
                  '</td></tr>';
                      }  
                  ?>

                  Kommentar


                  • #10
                    Das sieht doch schon gut aus. Kasten Bier zu mir Ich nehm aber nur Augustiner Helles :P

                    Kommentar


                    • #11
                      Zitat von Cosmik Beitrag anzeigen
                      PHP-Code:
                      <?php 
                      '...<td>Aktiv:' . ($zeile['art_active_flag']==='Ja' 'Nein') . '</td>...';
                      ?>
                      So würde es auch noch gehen...
                      "My software never has bugs, it just develops random features."
                      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                      Kommentar

                      Lädt...
                      X