jenny: Variable in array umwandeln

Hallöchen,
Wie kann ich eine Variable in ein array umwandeln und aus den darin enthaltenen Werten eine Summe bilden????

Danke schön,
Jenny

  1. Tach!
    Was für eine Variable mit welchem Inhalt soll denn umgewandelt werden?
    Falls es um einen String mit mehreren durch Trennzeichen getrennte Werte geht, hilft die explode-Funktion sicher weiter. Ist das Array erstmal da kann man einfach mit einer for-each-Schleife die Werte aufaddieren bzw. bei numerischen Werten array_sum nutzen.

    mfg,
    HRG

    1. Hallo,
      Ich möchte einen einfachen Shop basteln.
      Aus einer DB Abfrage wird eine Variable erzeugt:

      // hier die Abfrage aus der DB

      <?
      while($row=mysql_fetch_array($result1))
      {
      $preis=$row["preis"];
      ?>
      <table>
      <tr>
      <td><? echo $preis; ?></td>
      </tr>
      </table>

      Je nachdem wieviele datensätze gefunden wurden und aufgelistet sind, möchte ich nun die Summe aus den einzelnen Preisen bilden.
      WIE???????????????????
      Danke
      Jenny

      1. Hallo,
        warum nicht so?

        <?

        $summe = 0;

        while($row=mysql_fetch_array($result1))
        {
        $preis=$row["preis"];

        $summe += $preis;

        ?>
        <table>
        <tr>

        <td><? echo $summe; ?></td>

        </tr>
        </table>

        so long, wie wir coolen Saarländer sagen

        1. Hallo,
          funkt leider auch nicht. da wird nur der Preis vom letzten angezeigten datensatz um 1 erhöht. Ich brauch aber die Summe der einzelnen angezeigten Preise.

          Noch eine Idee????????

          Danke
          Jenny

          1. Die schließende Klammer bei der while-Schleife fehlt bei Deinem Posting; evtl auch in Deinem original-Quellcode?
            Nicht, dass das den Fehler verursacht.

            so long, wie wir coolen Saarländer sagen

            1. Hallo,
              Nein, ist alles ok. Aber wie gesagt es wird nur der preis des letzten ausgelesenen datensatzes um 1 erhöht aber nicht die Summe aller aufgelisteten Preise erzeugt.

              Jenny

              1. Ist jetzt sehr unwahrscheinlich, dass es damit was zu tun hat, aber ersetz mal das
                $summe += $preis;
                durch
                $summe = $summe + $preis;

                dürte aber nichts ändern

                so long, wie wir coolen Saarländer sagen

                1. Leider auch nichts geändert.

                  Jenny

                  1. <?
                    $summe = 0;
                    while($row=mysql_fetch_array($result1))
                    {
                    echo $row["preis"];
                    $preis=$row["preis"];
                    echo $preis;
                    echo $summe;
                    $summe = $summe + $row["preis"];
                    echo $summe;
                    }
                    ?>
                    <table>
                    <tr>
                    <td><? echo $summe; ?></td>
                    </tr>
                    </table>

                    Sodele, jetzt könntest Du sehen wo es schief geht (´die Ausgabe natürlich noch schö formatiren)

                    so long, wie wir coolen Saarländer sagen

                    1. Danke, danke!!!!!
                      jetzt gehts. Fehler lag bei mir. ich hatte in der while Schleife noch eine Zahlenformatierung drinnen die hier den Feler verursacht hat. Danke Dir. Wünsch ein schönes WE.

                      Jenny

                      1. Und schon klappts,
                        Dir auch ein schönes WE.

                        so long, wie wir coolen Saarländer sagen

                        --
                        Die Hardware lebt; und sie ist BÖSE
        2. Hi.
          Ne weitere Möglichkeit wäre, die Summenbildung gleich durch's SQL-Statement erledigen zu lassen, in etwa durch
          SELECT SUM('Preis') FROM ... WHERE ...

          mfg,
          Hilko

          1. Hallo,
            Diese Summenfunktion funkt aber bei mir nicht.

            $sql="SELECT SUM('preis') FROM warenkorb WHERE session_id='$session_id'";

            1. Hi.
              Bin mir gerade mal nicht sicher bei den 's.
              So vielleicht?
              $sql="SELECT SUM(preis) FROM warenkorb WHERE session_id='".$session_id."';";