Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenbank Array foreach

Einklappen

Neue Werbung 2019

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

  • Datenbank Array foreach

    Hallo, ich habe folgendes Problem:
    Ich möchte Werte aus einem Arry Abfragen und diese dann in Smarty / TPL anzeigen.

    Bisher habe ich:

    PHP-Code:
    global $smarty;
    $klar $GLOBALS['DB']->executeQuery("SELECT * FROM my_table"2); 
    Dabei ist der Output wie:

    Code:
    Array ( [0] => stdClass Object ( [id] => 220 [kAboID] => 1711000138 [kCustomerID] => 2 ) [1] => stdClass Object ( [id] => 221 [kAboID] => 1711000145 [kCustomerID] => 2) )
    Wenn ich nur den output von kAboID von [0] möchte geht:

    PHP-Code:
    $oArray=$klar[0]->kAboID;
    $smarty->assign("oArray",$oArray); 
    In der TPL Datei verwende ich dann:

    Code:
    {$oArray}
    Dann sieht es so aus:
    1711000138
    Aber wie muss ich es ändern, dass er das folgende macht:

    Nr: 1711000138
    Nr: 1711000145

    Ich würde mich freuen, wenn mir jemand helfen kann.



  • #2
    global ist böse.
    $GLOBALS ist böse.

    Bitte verwende das nicht.

    Deine Frage hat übrigens nichts mit Datenbanken zu tun. Du willst offenbar erklärt haben, wie Smarty funktioniert. Meine erste Frage: Warum Smarty? Ich würde es meiden, wo es nur geht. Wenn es nicht geht, dann solltest du dir mal im Smarty-Handbuch anschauen, wie Schleifen funktioneren.

    Kommentar


    • #3
      Hallo, danke für deine Antwort. Um es auf den Punkt zu bringen... Es geht um JTL. Da muss man dieses Smarty machen :/
      Aber wieso ist
      PHP-Code:
      global $smarty 
      böse?
      Naja ich würde gern diese Abfrage in PHP machen und dann nur die Schleife in einer TPL ausgeben, muss man da wohl die Schleife in Smarty machen? Wäre echt klasse, wenn du mir helfen kannst, ich verzweifle bald an der Ausgabe...:'(

      Kommentar


      • #4
        Zitat von Sebastian L. Beitrag anzeigen
        Aber wieso ist
        PHP-Code:
        global $smarty 
        böse?
        Weil globale Abhängigkeiten schlecht sind und es keinen Grund gibt sowas zu machen. Einige Programmierer machen das aus Faulheit oder Unwissenheit.

        Zitat von Sebastian L. Beitrag anzeigen
        Naja ich würde gern diese Abfrage in PHP machen und dann nur die Schleife in einer TPL ausgeben, muss man da wohl die Schleife in Smarty machen? Wäre echt klasse, wenn du mir helfen kannst, ich verzweifle bald an der Ausgabe...:'(
        Wohl so oder ähnlich:
        PHP-Code:
        $rows $db->executeQuery("SELECT id, kAboID, kCustomerID FROM my_table"2);
        $smarty->assign('rows'$rows); 
        Code:
        <ul>
            {foreach $rows as $row}
                <li>Nr. {$row.kAboID}</li>
            {/foreach}
        </ul>
        Aber ohne Gewähr. Hab schon Ewigkeiten den Smarty-Mist nicht mehr angegriffen.

        Ach ja, SELECT * ist auch böse.

        Kommentar


        • #5
          Hi, danke für die Antwort.
          Wenn man deines:
          Code:
          {$row.kAboID}
          in
          Code:
          {$row->kAboID}
          abändert, passt es. Aber, wenn man
          PHP-Code:
          $db->executeQuery 
          verwendet wird die Seite weiß. Wenn ich
          PHP-Code:
          $GLOBALS['DB']->executeQuery 
          verwende, geht es. Wieso das?

          Kommentar


          • #6
            Zitat von Sebastian L. Beitrag anzeigen
            Aber, wenn man
            PHP-Code:
            $db->executeQuery 
            verwendet wird die Seite weiß. Wenn ich
            PHP-Code:
            $GLOBALS['DB']->executeQuery 
            verwende, geht es. Wieso das?
            Weil es bei dir keine Variable $db gibt.

            Und das $GLOBALS Mist ist, hab ich ja schon gesagt.

            Kommentar


            • #7
              Ok und wie kann ich das lösen?
              Es müssen ja die Datenbankdaren von JTL verwendet werden...
              Wäre cool wenn du einen Tipp hast.

              Kommentar


              • #8
                Zitat von Sebastian L. Beitrag anzeigen
                Ok und wie kann ich das lösen?
                Es müssen ja die Datenbankdaren von JTL verwendet werden...
                Wäre cool wenn du einen Tipp hast.
                Ich kenn JTL nicht.

                Kommentar


                • #9
                  Ist auch nur eine Warenwirtschaftssystem und verwendet ausschliesslich MS SQL.
                  Eigentlich sollte er sich, da ein Fremdprodukt, dort hin wenden, die haben auch ein Forum.

                  Kommentar


                  • #10
                    In diesem Fall geht es aber um das Shopsystem von JTL, das verwendet dann MySQL, soweit mir bekannt ist.
                    Aber in dem Forum nachfragen hilft und ist der sinnvollste Tipp. Wenn man von denen einen Shop am Start hat, hat man auch mind. einen Free-Account, mit dem man sich im Forum anmelden kann.
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar

                    Lädt...
                    X