H2SO4: variablenausgabe

hy, folgendes, ich habe bereits eine for schleife in der i hochgezählt wird. Nun möchte ich an anderer stelle dieses i wieder benutzen in in einer tabelle anzeigen lassen. Nur irgendwas klappt nicht. Der Code müsste doch folgendermaßen sein (Laut meines wissens)

for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
      echo '      <tr class="dataTableRow">' . "\n" .
     '        <td class="dataTableContent" align="center" valign="top">$i(ODER WAS MUSS HIER REIN?????????)</td>' . "\n" .
.
.
.

  1. Hello,

    '        <td class="dataTableContent" align="center"

    ^^^^
    Prinzipiell hast du alles richtig gemacht, ABER. Wenn du als String-Anführungszeichen die Single-Quotes verwendest, dann werden Variablen innerhalb des Strings nicht ausgewertet. Verwendest du hingegen Double-Quotes, dann musst du zwar deine HTML-Attribut-Anführungszeichen escapen, aber dein $i wird interpretiert.

    MfG
    Rouven

    --
    -------------------
    Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#
    1. ähm kapier ich nicht ganz. Zudem hat es auch nicht geklappt als ich alle html atribute die in "" standen gelöscht habe. Die betreffende zeile die Probleme bereitet ist ja
      '        <td class="dataTableContent" align="center" valign="top">?</td>' . "\n" .

      Was muss hier nun anstatt des ? stehen?

      1. gudn tach!

        '        <td class="dataTableContent" align="center" valign="top">?</td>' . "\n" .

        Was muss hier nun anstatt des ? stehen?

        '.$i.'

        prost
        seth

        1. KORREKTUR,

          probier mal folgenden Code :
          ----------------------------

          for ($i = 0, $n = sizeof($order->products); $i < $n; $i++)
          {
                echo
                "<tr class='dataTableRow'><br>
                    <td class='dataTableContent' align='center' valign='top'>
                       ".$i."
                    </td>
                 </tr>";
          }

          Gruss
          SmartyShark
          www.ithelp4u.de

          1. gudn tach!

            KORREKTUR,

            wessen?
            deines codes, oder? dann poste die korrektur auch besser _da_runter und nicht unter irgendwelchen anderen beitraegen.

            jetzt also noch mal verschiedene (aber noch nicht alle!) moeglichkeiten:

            for($i=0, $n=sizeof($order->products); $i<$n; ++$i){  
              echo "<tr class='dataTableRow'><br /><td class='dataTableContent' align='center' valign='top'>".$i."</td></tr>";  
            }
            
            for($i=0, $n=sizeof($order->products); $i<$n; ++$i){  
              echo "<tr class='dataTableRow'><br /><td class='dataTableContent' align='center' valign='top'>$i</td></tr>";  
            }
            
            for($i=0, $n=sizeof($order->products); $i<$n; ++$i){  
              echo "<tr class=\"dataTableRow\"><br /><td class=\"dataTableContent\" align=\"center\" valign=\"top\">$i</td></tr>";  
            }
            
            for($i=0, $n=sizeof($order->products); $i<$n; ++$i){  
              echo '<tr class="dataTableRow"><br /><td class="dataTableContent" align="center" valign="top">'.$i.'</td></tr>';  
            }
            

            ich bevorzuge letzte methode.

            und wenn nun statt $i eigentlich ($i+1) geprintet werden soll, dann kann man dazu einfach die schleife anders zaehlen lassen:

            for($i=1, $n=sizeof($order->products); $i<=$n; ++$i){  
              echo '<tr class="dataTableRow"><br /><td class="dataTableContent" align="center" valign="top">'.$i.'</td></tr>';  
            }
            

            prost
            seth

            1. Hi,

              nicht im Ton vergreifen, bitte einen Ton lower....

              SmartyShark

              1. gudn tach!

                KORREKTUR,

                wessen?
                deines codes, oder? dann poste die korrektur auch besser _da_runter und nicht unter irgendwelchen anderen beitraegen.

                nicht im Ton vergreifen, bitte einen Ton lower....

                huch! haette ich es singen sollen, damit du nicht gleich beleidigt bist?

                mach dich locker und lies es einfach so wie es da steht, ohne irgendwelche toene hineinzuinterpretieren. ich kann eh nicht gut singen.

                ich habe mich sogar noch zurueckgehalten. eigentlich wollte ich dich auch noch auf http://forum.de.selfhtml.org/hilfe/charta.htm#verhaltensrichtlinien (letzter punkt) und http://forum.de.selfhtml.org/hilfe/bedienung.htm#syntax-highlighting hinweisen, hab's jedoch dieses mal gelassen, weil ich zu faul^W^W dachte, dass zuviel kritik vielleicht schlechter verdaut wird. aber dass schon eine so einfache nuechterne bemerkung als "im ton vergriffen" aufgefasst wird, finde ich schon krass.

                prost
                seth

                1. Ich hoffe das liest du noch,

                  Ich bin nicht beleidigt,

                  ich finde es nur lächerlich von dir :-)

                  Habe ich gegen irgendeine Verhaltensregel verstoßen :-), ich glaube nicht...

                  mach dich locker und lies es einfach so wie es da steht, ohne irgendwelche toene hineinzuinterpretieren. ich kann eh nicht gut singen.

                  Lern erstmal mit Leuten zu kommunizieren!

                  Verhaltensregeln ?

                  Ich habe gegen keine verstoßen,deswegen brauche ich die nicht zu lesen. Du anscheinend schon, denn du hast diese ja bereits gelesen :-)

                  Liest auch immer erst die Bedienungsanleitung eines
                  neuen DVD-Players bevor du diesen anmachst, du klug********* :-)

                  Schönen Tag noch

                  1. gudn tach!

                    Ich bin nicht beleidigt,

                    schon mal gut.

                    ich finde es nur lächerlich von dir :-)

                    aha.

                    Habe ich gegen irgendeine Verhaltensregel verstoßen :-), ich glaube nicht...

                    dann irrst du. wie gesagt... letzter punkt des verlinkten abschnitts. stichwort "doppelposting". ist aber jetzt auch egal.

                    mach dich locker und lies es einfach so wie es da steht, ohne irgendwelche toene hineinzuinterpretieren. ich kann eh nicht gut singen.

                    Lern erstmal mit Leuten zu kommunizieren!

                    ok, dann muss ich mir wohl aber zu beginn einen leichteren gegenueber schnappen als dich.

                    Ich habe gegen keine verstoßen,deswegen brauche ich die nicht zu lesen. Du anscheinend schon, denn du hast diese ja bereits gelesen :-)

                    ich bin ueberwaeltigt von deiner logik. so sehr, dass du mit mir das schweinekotzelied singen darfst (dafuer reichen meine gesangskuenste gerade noch):
                    <sing>
                     schweinekotze,
                     schweinekotze.
                    </sing>

                    Followup-To: /dev/null

                    prost
                    seth

                    1. Prost, ruppppsss

                      1. hi,

                        Prost, ruppppsss

                        Aha, PUI* - das erklärt einiges.

                        * analog DUI, nur eben P wie posting.

                        gruß,
                        wahsaga

                        --
                        /voodoo.css:
                        #GeorgeWBush { position:absolute; bottom:-6ft; }
                        1. hi,

                          Prost, ruppppsss

                          Aha, PUI* - das erklärt einiges.

                          Ah du auch noch....

                          prost
                          seth

                          Du meinst, das erklärt alles. Lasst mich inruhe!
                          Iht müsst noch viel lernen. Eure Reife und Geist
                          ist sehr weit unentwickelt.

                          Gruss und endgültig Tschüss

            2. und wenn nun statt $i eigentlich ($i+1) geprintet werden soll, dann kann man dazu einfach die schleife anders zaehlen lassen:

              nein geht nicht :) Das i wird an sich für was anderes benutzt, wo es bei 0 anfangen muss. Habe nur keine Lust noch eine extra schleife einzubauen, weshalb ich es halt auch benutze. Nur will ich in diesem fall halt ab 1 zählen und deshalb $i+1

              aber danke nochmal für die möglichkeiten, die letzte gefällt mir auch am besten

        2. cool, klappt habe jetzt '.($i+1).' eingefügt. Will ja bei 1 und nicht bei 0 anfangen. Vielen Dank

      2. Hi,

        probier mal folgenden Code :
        ----------------------------

        for ($i = 0, $n = sizeof($order->products); $i < $n; $i++)
        {
              echo
              "<tr class='dataTableRow'>."<br>".
                  <td class='dataTableContent' align='center' valign='top'>
                     $i
                  </td>
               </tr>";
        }

        Gruss
        SmartyShark

  2. Hi,

    probier mal folgenden Code :
    ----------------------------

    for ($i = 0, $n = sizeof($order->products); $i < $n; $i++)
    {
          echo
          "<tr class='dataTableRow'>."<br>".
              <td class='dataTableContent' align='center' valign='top'>
                 $i
              </td>
           </tr>";
    }

    Gruss
    SmartyShark
    www.ithelp4u.de

  3. Hi H2SO4!

    for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {
          echo '      <tr class="dataTableRow">' . "\n" .
         '        <td class="dataTableContent" align="center" valign="top">$i(ODER WAS MUSS HIER REIN?????????)</td>' . "\n" .

    Ich finde deine For-Schleife etwas komisch. Du belegst $n jedesmal mit dem gleichen Wert. Wäre es nicht sinnvoller $n = sizeof($order->products) vor die Schleife zu schreiben?!

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. hi,

      for ($i = 0, $n = sizeof($order->products); $i < $n; $i++) {

      Ich finde deine For-Schleife etwas komisch. Du belegst $n jedesmal mit dem gleichen Wert.

      Nein, nur ein Mal - bei der Initialisierung der Schleife.
      Schau dir an, wo Kommata und wo Semikolons stehen.

      Wäre es nicht sinnvoller $n = sizeof($order->products) vor die Schleife zu schreiben?!

      Es ist "vor" dem _Start_ der Schleife.
      Da ist es ziemlich gut untergebracht - wird nur einmal ausgewertet, ist aber durch die Notation an dieser Stelle immer noch mit der Schleife "verbunden".

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hi wahsaga!

        Ich finde deine For-Schleife etwas komisch. Du belegst $n jedesmal mit dem gleichen Wert.
        Nein, nur ein Mal - bei der Initialisierung der Schleife.
        Schau dir an, wo Kommata und wo Semikolons stehen.

        Du hast natürlich recht.

        Wäre es nicht sinnvoller $n = sizeof($order->products) vor die Schleife zu schreiben?!
        Es ist "vor" dem _Start_ der Schleife.
        Da ist es ziemlich gut untergebracht - wird nur einmal ausgewertet, ist aber durch die Notation an dieser Stelle immer noch mit der Schleife "verbunden".

        Dabei hätte ich es wissen müssen. In C ist es nämlich auch so.

        Das Studium scheint mir nicht gut zu tun...

        MfG H☼psel

        --
        "It's amazing I won. I was running against peace, prosperity, and incumbency."
        George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
        Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)