Array aufsplitten und SQL-Abfragen aus den Werten erstellen

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

  • Array aufsplitten und SQL-Abfragen aus den Werten erstellen

    hoi,

    ich habe folgendes Problem:

    ich möchte eine Liste von vorher ausgewählten Gruppen in eine Datenbanktabelle schreiben.
    Die Tabelle hat zwei Spalten, user_id und group_id.

    wenn ich die Gruppen jetzt per Checkbox auswähle,werden die IDs der ausgewählten Gruppen ja in einem Array gespeichert.

    nehmen wir an,ich wähle die Gruppen mit den IDs 1 und 2 aus,dann sollen zwei Abfragen erstellt werden:

    Code:
    INSERT INTO usergroups (user_id, group_id)
    VALUES('$userid', "1")
    und

    Code:
    INSERT INTO usergroups (user_id, group_id)
    VALUES('$userid', "2")
    es geht also darum,die einzelnen Werte in dem Array zu bestimmen und aus diesen dann entsprechende Abfragen zu generieren...

  • #2
    Und warum bitte steht die Frage bei SQL / Datenbanken ... ?!
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      args...im Eifer des Gefechts hab ich das falsche Forum erwischt sorry

      Kommentar


      • #4
        schreib doch einfach eine schleife dafür... oder?

        Kommentar


        • #5
          foreach-schleife am besten, mit einer neuer array-füllung...

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            ich habs zur Zeit so...

            PHP-Code:
            for ( isset($marked) )
            {
            //
            // Join marked UGS
            //

            $sql "INSERT INTO " USER_GROUPS_TABLE " (user_id, group_id)
            VALUES('
            $userid', ".implode(",",$HTTP_POST_VARS['groups']).")";
            echo 
            $sql;

            gibt aber n Parse Error


            wenn ich

            PHP-Code:
            while ( isset($marked) )
            {
            //
            // Join marked UGS
            //

            $sql "INSERT INTO " USER_GROUPS_TABLE " (user_id, group_id)
            VALUES('
            $userid', ".implode(",",$HTTP_POST_VARS['groups']).")";
            echo 
            $sql;

            mach,stürzt die Seite ab

            Kommentar


            • #7
              http://www.php-resource.de/forum/sho...ight=%2AMOD%2A könnte weiterhelfen

              Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
              sondern mit den Augen das Manual zu lesen.

              Kommentar


              • #8
                ok das geht schonmal in die richtige Richtung...

                hab das jetzt mal so gemacht:

                PHP-Code:
                $marked $HTTP_POST_VARS['groups'];
                $userid $userdata['user_id'];

                foreach ( 
                $marked as $ug )
                {
                                
                //
                                // Get marked UGS
                                //
                                
                $ugids[] = $ug.','.$userid;

                                
                $sql "INSERT INTO " USER_GROUPS_TABLE " (user_id, group_id)
                                    VALUES("
                implode('),('$ugids) .") ";
                                echo 
                $sql;
                            } 
                ich bekomme jetzt aber als generierte Abfragen:

                Code:
                INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2)
                INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2), (12,2)
                INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2),(12,2),(13,2)
                und nicht:

                Code:
                INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2)
                INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(12,2)
                INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(13,2)

                Kommentar


                • #9
                  wundert dich das?

                  PHP-Code:
                  $ugids[] = $ug.','.$userid

                  Kommentar


                  • #10
                    du bist ja auch unser held

                    weißt aber schon, wo Du echo stehen hast?!

                    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                    sondern mit den Augen das Manual zu lesen.

                    Kommentar


                    • #11
                      stimmt,hab das mal umgedreht...damit ist das Problem aber nicht behoben...

                      wie eben schon geschrieben...

                      Kommentar


                      • #12
                        Original geschrieben von TobiaZ
                        wundert dich das?

                        PHP-Code:
                        $ugids[] = $ug.','.$userid
                        noch eine heldentat mehr

                        Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                        sondern mit den Augen das Manual zu lesen.

                        Kommentar


                        • #13
                          du bist ja auch unser held
                          DU Held. Wo soll er das echo sonst hinschreiben???

                          stimmt,hab das mal umgedreht...
                          das ist nicht das problem. aber warum machst du das ganze mit nem array???

                          Kommentar


                          • #14
                            Original geschrieben von TobiaZ
                            DU Held. Wo soll er das echo sonst hinschreiben???
                            vielleicht außerhalb der schleife?! dann brauch er sich auch nicht zu wundern, dass er statt

                            Code:
                            INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2)
                            INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2), (12,2)
                            INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2),(12,2),(13,2)
                            nämlich

                            Code:
                            INSERT INTO USER_GROUPS_TABLE (user_id, group_id) VALUES(11,2),(12,2),(13,2)
                            als ausgabe erhält ;D

                            Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                            sondern mit den Augen das Manual zu lesen.

                            Kommentar


                            • #15
                              hier in diesem Thread wird ja was Ähnliches behandelt und das wurde auch mit nem Array gelöst...

                              http://www.php-resource.de/forum/sho...ight=%2AMOD%2A

                              Kommentar

                              Lädt...
                              X