query, ausgabe und variablen

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

  • #16
    zu 1:

    explode() teilt doch lediglich? oder kann ich mit explode() auch bestimmen welche zeichen INNERHALB der zu lösenden zeichen (in dem fall , ) ich reinsetzen kann? von 1,2,3,4,5 zu "1","2","3","4","5" ?

    dennch meine ich das er es doch schluckt. habe eben mit 1,2,3,4,5 versucht, und das funktioniert. wenn ich 1,2,3,4,5 jedoch in eine vari packe, und die vari dann in den array lege, dann kapiert er die zahlenfolge nicht (1,2,3,4,5 direkt im array wird vom array verstanden).

    zu1 hätte ich noch die frage, wie ich gruppenid's einfügen kann, getrennt von kommas (gleich bin ich einen kopf kürzer denke ich). wie ich eine id einfüge und update ist klar, aber wie füge ich mehrere nach multiple choice ein, getrennt von kommas?

    zu 2:

    mit eval rufe ich das template auf, bzw. bereite es vor. die template-engine *hüstel* ist eine von mir gestaltete engine auf drei zeilen script, kann demnach keine array verarbeiten

    wie erwähnt, mit eval klappt es wunderbar wenn ich das tpl direkt (vergleichbar mit echo) aufrufe. wenn ich das template jedoch mit einer $vari definiere und später einsetzen will, klappt das keineswegs.

    Kommentar


    • #17
      Zu eins, zum dritten Mal: Integers gehören nicht in Anführungszeichen. Explode ist genau richtig und gibt dir ein Array zurück.
      PHP-Code:
      if (in_array(12explode(",",$deinkomischerkommakram))) { 
         
      // mach was.

      wenn ich 1,2,3,4,5 jedoch in eine vari packe, und die vari dann in den array lege, dann kapiert er die zahlenfolge nicht (1,2,3,4,5 direkt im array wird vom array verstanden).
      Was soll denn das schon wieder heißen? Bitte versuch mal, dich verständlicher auszudrücken.

      zu1 hätte ich noch die frage, wie ich gruppenid's einfügen kann, getrennt von kommas (gleich bin ich einen kopf kürzer denke ich). wie ich eine id einfüge und update ist klar, aber wie füge ich mehrere nach multiple choice ein, getrennt von kommas?
      Das ist nur einer von vielen Gründen, wieso die Idee mit dem Kommastring Müll ist. Vertrau mir, du wirst auf die meisten anderen auch noch stoßen. Denk dir halt was aus - Stringfunktionen.

      Zu deiner
      template-engine *hüstel*
      Was das schon wieder soll... die einfachste Templateengine ersetzt Platzhalter und braucht auch dafür kein eval. Ein {content} wirst du ja wohl durch deinen Inhaltsstring ersetzen können, sonst ist deine "Templateengine" ebenfalls Müll, sorry...

      Wo darin jetzt noch der Fehler liegt, kann man übrigens so auch nicht sagen ohne code.
      ich glaube

      Kommentar


      • #18
        damit ich dich nicht zu sehr strapaziere konzentriere ich mich nun erst mal nur auf punkt 1:

        wenn ich folgenden code verwende:

        PHP-Code:
        if(in_array($benutzergruppe, array($fetch['groups']))) 
        funktioniert der array nicht. die variable $benutzergruppe ist gefüllt, hat also einen wert (zahl), die variable $fetch['groups'] zeigt mir das ergebnis

        Code:
        1,2,3
        an (wie eingetragen). wenn ich folgenden code (ohne $benutzergruppe) verwende:

        PHP-Code:
        if(in_array(1, array(1,2,3))) 
        funktioniert es hingegen

        Kommentar


        • #19
          Ein einziges Mal versuch ichs noch:

          PHP-Code:
          if (in_array(12explode(",",$deinkomischerkommakram))) { 
             
          // mach was.

          wie jetzt schon mehrfach erwähnt. Ja, das mit deinen Variablen austauschen musst du noch... bei mir 12 ist bei dir (zur Zeit jedenfalls) $benutzergruppe, und bei mir $deinkomischerkommakram ist bei dir? Richtich... $fetch['groups'].

          Explode gibt dir ein array zurück, du musst da gar nix machen mit der funktion array().

          Vielleicht doch erstmal bei den Grundlagen (strings, arrays, funktionen, Rückgabewerte) bleiben und öfter mal das manual besuchen anstatt haarsträubende Templateengines zu erfinden...
          ich glaube

          Kommentar


          • #20
            Original geschrieben von ministry
            Ein einziges Mal versuch ichs noch:

            PHP-Code:
            if (in_array(12explode(",",$deinkomischerkommakram))) { 
               
            // mach was.

            wie jetzt schon mehrfach erwähnt. Ja, das mit deinen Variablen austauschen musst du noch... bei mir 12 ist bei dir (zur Zeit jedenfalls) $benutzergruppe, und bei mir $deinkomischerkommakram ist bei dir? Richtich... $fetch['groups'].

            Explode gibt dir ein array zurück, du musst da gar nix machen mit der funktion array().

            Vielleicht doch erstmal bei den Grundlagen (strings, arrays, funktionen, Rückgabewerte) bleiben und öfter mal das manual besuchen anstatt haarsträubende Templateengines zu erfinden...
            Ich habe mir das ganze mal durch den Kopf gehen lassen. Ich werde mich heute Abend noch hinsetzen und mich da rein arbeiten. Könntest Du mir noch den Anstoß geben, wie ich in

            PHP-Code:
            if (in_array(12explode(",",$deinkomischerkommakram))) 
            die zu überprüfende Zahl, wenn es mehrere sind (3,3,3 (Wieder die komma-sache)) einbringen kann? kann ich da einfach folgendes machen?

            PHP-Code:
            if (in_array(explode(",",$stringmitueberpruefendenzahlen), explode(",",$deinkomischerkommakram))) 
            Aber wirklich vielen vielen dank an alle in diesem thema für eure hilfe.

            Kommentar


            • #21
              Nein. Du kannst dann den ersten Teil exploden, dann hast du ein Array. Dies kannst du dann entweder mit foreach durchlaufen und wie beschrieben überprüfen, oder ev. mit array_diff vergleichen. ... ich erinnere an die Nachteile der Komma-Methode.
              ich glaube

              Kommentar


              • #22
                Original geschrieben von ministry
                Nein. Du kannst dann den ersten Teil exploden, dann hast du ein Array. Dies kannst du dann entweder mit foreach durchlaufen und wie beschrieben überprüfen, oder ev. mit array_diff vergleichen. ... ich erinnere an die Nachteile der Komma-Methode.
                Das mit foreach funktioniert soweit, wenn ich die ausgabe jedoch dementsprechend die die foreach-schleife werfe, werden mir so viele anzeigen ausgegeben, wie auch gruppenid's in der usertabelle. ich möchte aber, das nur eine ausgabe geschieht mit der für den bereich nötigen gruppenid. kann man das irgendwie eingrenzen?

                soll heißen, besitzt der user die nötige gruppenid in seinem repertoire für erlaubte gruppen im jeweiligen bereich, dann lass ihn machen.

                soweit klappt zwar alles ganz gut, auch mit dem array, nur eben die doppelte/mehrfache ausgabe ist halt etwas unschön. vielen dank derweil. aber ihr seht, ich sitze und versuche zu lernen.

                Kommentar


                • #23
                  Naja, du sollst ja auch da nicht direkt etwas ausgeben. Mach eine Variable $allowed auf false. Dann explodierst du das array der Gruppenids und das der allowed-ids. Dann durchläufst du das Array der Gruppenids mit foreach.. wenn gruppenid in array allowed-ids, dann $allowed auf true. Zum Schluss überprüfen ob $allowed auf true. Ablauf kapiert?
                  ich glaube

                  Kommentar

                  Lädt...
                  X