Ankündigung

Einklappen
Keine Ankündigung bisher.

Variablen-Name um 1 erhöhen

Einklappen

Neue Werbung 2019

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

  • Variablen-Name um 1 erhöhen

    Hallo Leute,

    ich habe ein Problem, für das es bestimmt eine ganz einfache Lösung gibt, ich habe bloß anscheinend ein Brett vorm Kopf...

    Folgendes vorhaben:

    In meiner Datenbank habe ich Farben als einzelne Einträge mit eigenen ID's hinterlegt. Jetzt möchte ich jede einzelne Farbe über eine While-Schleife in einer abfolgenden Variablen ausgeben.

    Z.B.: weiss = $farbe1,schwarz = $farbe2, grau = $farbe3 u.s.w..

    Ich bekomme es bloß nicht hin den Namen der Variablen automatisch um 1 zu erhöhen und deswegen wird die Variable $farbe1 unzählige Male überschrieben..

    PHP-Code:
                    // Zählt die Farben
                    
    $countcolors $pdo->prepare("SELECT COUNT(color_name) AS count FROM car_colors");
                    
    $countcolors->execute();
                    
    $row $countcolors->fetch();
                    
    $colorcount $row['count'];

                    
    // Gibt die einzelnen Farben in Variable $color"X" aus
                    
    while ($colorcount 0) {
                        
    $id 1;
                        
    $sqlcolors $pdo->prepare("SELECT color_name FROM car_colors WHERE color_id = :id");
                        
    $sqlcolors->bindParam(':id'$id);
                        
    $sqlcolors->execute();
                        foreach (
    $sqlcolors as $one) {$color1 $one['color_name'];};
                        echo 
    "$color1<br>";
                        
    $colorcount--;
                        
    $id++;
                    } 
    Bitte um Hilfe

    Grüße,
    Joe

  • #2
    Warum fragst Du denn erst, wieviele Datensätze es gibt?!
    Fang mit Deinem zweiten Select an und.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Weil ich erstmal ermitteln wollte, wie viele einzelne Durchläufe die Abfrage machen muss, damit es nicht in der Endlosschleife läuft. Habe das Gefühl dass meine grundliegende Herangehensweise falsch ist.

      Das ziel ist ganz einfach. Ich möchte alle vorhandene Farben aus der Datenbank auslesen und diese in einzelne Variablen $farbe1, $farbe2 u.s.w. reinpacken.

      Kommentar


      • #4
        Nummerierte Variablen sind fail. What about Arrays?
        Probier das mal:
        PHP-Code:
        $oStmnt $pdo->query"SELECT color_id, color_name from car_colors" );
        $aColors = [];

        while ( 
        $row $oStmnt->fetch(PDO::FETCH_OBJ) )
            
        $aColors[$row->color_id] = $row->color_name;

        var_dump $aColors ); 
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Ich bekomme jetzt zwar das Array mit den Werten, aber wie soll ich das "automatisch" in die richtige Variablen packen? Oder meinst du dass man hier komplett auf einzelne Variablen verzichtet?

          EDIT: Ah sorry, bin zu duselig.. Ziehe alles zurück. Habe den Ansatz verstanden. Vielen Dank für die schnelle Hilfe!

          Kommentar


          • #6
            Zitat von Arne Drews Beitrag anzeigen
            PHP-Code:
            while ( $row $oStmnt->fetch(PDO::FETCH_OBJ) )
            $aColors[$row->color_id] = $row->color_name
            Geht auch einfacher:
            PHP-Code:
            $aColors $oStmt->fetchAll(PDO::FETCH_KEY_PAIR); 

            Kommentar


            • #7
              Super, danke schön!

              Kommentar

              Lädt...
              X