Ankündigung

Einklappen
Keine Ankündigung bisher.

Alle Spaltennamen inkl. Alias in Array speichern

Einklappen

Neue Werbung 2019

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

  • Alle Spaltennamen inkl. Alias in Array speichern

    Hallo zusammen,

    ich habe einen Datensatz den ich abfrage inkl. diversen Alias. Jetzt würde ich gerne die Namen der Spalten inkl. Alias-Namen zusätzlich in ein Array packen, damit ich diese durch eine Schleife laufen lassen kann. Dies hätte ich gerne für SMARTY. Ich bin in einem Bearbeitungsformular. Ich setzte eine Smartyvariable, damit ich die Daten im Formular enthalten habe.

    Diese funktion soll in die Schleife.

    Code:
    function checkPostDB ($postname, $DBresult) {
        global $smarty;
    
        if(isset($_POST[$postname])){
            $smarty->assign($postname, $_POST[$postname], true);    
        }    
        else{
            $smarty->assign($postname, $DBresult, true);    
        }        
    
    }
    Vielleicht gibt es ja eine bessere Methode. Aktuell habe ich jede einzelne Zeile manuell im Code stehen wie folgt:

    Code:
    //Funktion gibt bei Fehlermeldungen Post-Inhalt oder DB-Eintrag zurück
    checkPostDB('nummer', $result['nummer']);
    checkPostDB('kennzeichen', $result['kennzeichen']);
    checkPostDB('bezeichnung', $result['bezeichnung']);
    checkPostDB('herstellerID', $result['herstellerID']);
    checkPostDB('fahrzeugartID', $result['fahrzeugartID']);


  • #2
    Hä? Auf welcher Datenbasis soll das passieren? Woher kommt der eine magische Datensatz den du hier nicht weiter erläuterst überhaupt?
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      einen Datensatz den ich abfrage inkl. diversen Alias
      ? Was verstehst du unter "diversen Alias für den einen Datensatz"?.
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        ich habe eine stinknormale Abfrage:

        Bsp.:
        Code:
        $pdoStmnt = $pdoObject->prepare("SELECT
        ID AS IDx,
        name,
        fahrzeuggruppenID,
        DATE_FORMAT(erfasst, '%d.%m.%Y') AS erfasst,
        (SELECT COUNT(ID) FROM fahrzeuge WHERE fahrzeugartID = IDx) AS anzahl,
        (SELECT name FROM fahrzeuggruppen WHERE ID = fahrzeuggruppenID) AS fahrzeuggruppe
        FROM fahrzeugarten WHERE aktiv = '1' ORDER BY CONVERT(name, DECIMAL)");
        $pdoStmnt->execute();
        $result = $pdoStmnt->fetchAll();
        Ich hätte gerne, die Spaltennamen in einem Array

        IDx
        name,
        fahrzeuggruppenID,
        erfasst,
        anzahl,
        fahrzeuggruppe

        Damit ich mittels einer Schleife für jeden Spaltenname eine Function verwenden kann, die prüft, ob die Formulareingabe geändert wurde zum speichern oder der aktuelle Inhalt aus der Datenbank in value="" ausgegeben werden soll.

        Kommentar


        • #5
          Je nachdem wie du dein PDO eingestellt hast bekommst du doch ein Array aus Objekten, oder ein Array aus Arrays zurück, da nimmst du dir einfach den ersten Datensatz und holst dir die Keys - irgendwie musst du die Werte doch schon ansprechen. Am einfachsten geht das wohl aber in einem Rutsch mit array_keys().
          You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

          Kommentar


          • #6
            PHP-Code:
              $result $pdoStmnt->fetchAll(); 
            Dann mach mal ein print_r() auf $result, dann siehst du was du von der DB bekommst und da holst du das raus mit den Array-Funkionen wie oben schon angesprochen.
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              "global" ist übrigens böse und sollte nicht verwendet werden. Wenn du einen Wert in einer Funktion benötigst, übergib ihn als Funktionsparameter.

              Kommentar

              Lädt...
              X