Question: array?!

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

  • Question: array?!

    Hallo Leute,
    ich habe folgende Frage:

    Wie kann ich ein array in eine MySQL Datenbank per INSERT into eintragen?

    Beispiel:
    Es gibt eine Auswahlliste von verschiedenen Interessen, wie Sport, Internet, Musik, Kultur. Nun werden vom User mehrere Interessen ausgewählt und in einem array gespeichert. Doch wie ist es möglich dieses array in eine mysql datenbank zu speichern? Bin auf jede Hilfe angewießen *gg*

    Gruß
    phpdestroy

  • #2
    du must für jede Auswahl ein eigenes insert machen! In Array direkt in der DB zu speicher geht nicht!

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Verständnisfrage:
      Könnte es auch funktionieren, wenn man den Array erst serialisiert und dann in die DB einträgt?

      Kommentar


      • #4
        Meiner Gedanken muss es einen anderen Weg geben um ein array in eine MySQL Datenbank abzuspeichern, denn sonst wär alles ein wenig umständlich und unsauber programmiert, oder täusche ich mich?! Ich bin echt gespannt welche Lösungen es gibt.

        Kommentar


        • #5
          nee, wie willst du den mit den KEYs (wenn vorhanden) umgehen?
          Jeder Eintrag benötigt auch ein eigenes Insert! Es sei den du speichertes alle Einträge in einem Feld und suchst später mit like.
          Das ist aber eher unsauber und sehr slow bei der Suche nach bestimmten Eigenschaften.


          php-Entwicklung | ebiz-consult.de
          PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
          die PHP Marktplatz-Software | ebiz-trader.de

          Kommentar


          • #6
            Wüsstest du sonst eine andere Lösung wenn ich folgendes habe und die ausgewählten Felder speichern möchte:

            <select size="3" name="test[]" multiple>
            <option value="Internet">Internet
            <option value="Fussball">Fussball
            <option value="Kultur">Kultur
            <option value="Computer">Computer
            </select>

            Nun werden ja alle ausgewählten Kategorien in den array test[] gespeichert. Nun ja, aber wie kann ich jetzt die Daten in die MySQL Datenbank speichern?

            Gruß
            phpdestroy

            Kommentar


            • #7
              jo Aray durchlaufen und jeden Eintrage mit einem Insert in die Datenbank speichern.

              php-Entwicklung | ebiz-consult.de
              PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
              die PHP Marktplatz-Software | ebiz-trader.de

              Kommentar


              • #8
                Warum denn nicht den serialsierten Array in die DB stopfen?
                Das ist IMHO der einfachste Weg.

                http://www.php.net/manual/en/function.serialize.php
                und addslashes() - siehe UCN - beachten

                Kommentar


                • #9
                  Hallo,
                  habe soeben folgendes Versucht:

                  $stream = serialize($kat);
                  addslashes($stream);
                  echo $stream;

                  Doch bei der Ausgabe steht folgendes:

                  a:3i:0;s:23:"Autos, Bote & Flugzeuge";i:1;s:19:"Bildung & Erziehung";i:2;s:22:"Clubs & Organisationen";}

                  Doch wie kann ich nur die Kategorien ausgeben und speichern, denn dies sollte für eine Ziegruppenfunktion dienen, hat jemand eine Idee?

                  Kommentar


                  • #10
                    Ich hab zwar keine Ahnung was 'ne Ziegruppenfunktion sein soll, und meine Glaskugel befindet sich gerade auf Urlaub

                    Trotzdem würde ich dir empfehlen, einen serialiserten Array erst mit stripslashes zu bearbeiten und dann zu de-serialisieren.

                    $kategorien = unserialize(stripslashes($stream));

                    wird dir helfen.
                    Dann sollte dir $kategorien[1] "Bildung & Erziehung" ausgeben.

                    Siehe user-contributed notes (die stehen immer unterhalb einer Funktionsbeschreibung auf php.net).

                    Kommentar

                    Lädt...
                    X