Array in DB speichern und später durchsuchen?

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

  • Array in DB speichern und später durchsuchen?

    Hallo! Wäre sehr nett, wenn mir jemand ein Paar Antworten schreibt:

    1) Ich möchte die Checkboxen mit Häckchen (Id's der Favorite-urls) in einem Array speichern-
    hilft hier Implode() ?? oder wie?

    2) Dieses Array soll in die DB rein...wie??
    Mit serialize() kann ich das Array später nicht in das SQL-Statement zum Suchen oder dergleichen Verwenden....

    Was wäre die beste Lösung für mein Problem, wenn ich die DB nach dem Inhalt des Arrays später durchsuchen möchte.
    danke,....

  • #2
    1. in welcher Form liegen die Werte vor. Was willst du mit implode?
    2. IMHO wandelt serialize die Daten in einer Binärform, dass man per SQL wenig damit anfangen kann. Du kannst z.B. eine Tabelle der Form:
    user_id | fav_id nehmen, um die Sachen abzulegen.

    Kommentar


    • #3
      Ja genau, ich habe Spalten: UserID, FavID. Das problem ist-
      es sind mehrere FavIDs pro User möglich.
      Wie speichere ich die alle in einer Spalte?
      Ziel: der User mag auf der Frontpage seine Favoritenliste sehen.

      Kommentar


      • #4
        So kriege ich die FavoritenIDs
        PHP-Code:
        echo '<td><input type="checkbox" name="category[]" value="'.$cid.'">add</td>'
        so kann ich die sehen:

        PHP-Code:
        foreach ($category as $cid) {
        echo 
        $cid 

        Kommentar


        • #5
          Original geschrieben von minuta
          Ja genau, ich habe Spalten: UserID, FavID. Das problem ist-
          es sind mehrere FavIDs pro User möglich.
          Wie speichere ich die alle in einer Spalte?
          Ziel: der User mag auf der Frontpage seine Favoritenliste sehen.
          nee, damit versaust du die Struktur der Tabelle. Einfach mehrere Einträge pro User, etwa:
          PHP-Code:
          u_id f_id
          1    
          1
          1    
          2
          1    
          3
          1    
          4
          1    
          5
          1    
          6
          2    
          2
          2    
          4
          2    
          5
          2    

          Kommentar


          • #6
            ok, danke---bin Neuling..
            Also ist es nicht so schlimm, wenn diese Tabelle extrem lang wird?
            Ist es allgemen nicht empfelenswert Arrays in die DB zu speichern?

            Und noch eine blöde Frage zu SQL:
            Wenn sich ein neuer User registriert, soll seine ID gleich in alle Tabellen gespeichert werden, wo die Spalte UserID dabei ist?
            etwa: insert in (Tabelle1, Tabell2....)

            Oder nur in eine "Haupttabelle" als Primary Key und dann per Fremdschlüssel irgendwie in die anderen übergeben? Sind die Tabellen verbunden? ich meine die Spalten mit den gleichen Namen und Inhalt??
            Danke im voraus
            Zuletzt geändert von minuta; 10.09.2004, 14:23.

            Kommentar


            • #7
              Original geschrieben von minuta
              ok, danke---bin Neuling..
              Also ist es nicht so schlimm, wenn diese Tabelle extrem lang wird?
              Nö, solange die TabellenDatei die Grenze des Dateisystems nicht sprengt, dann ist OK, aber dazu brauchst du schon einige Jahrzehnte
              Ist es allgemen nicht empfelenswert Arrays in die DB zu speichern?
              nein, das sollte nicht sein.
              Und noch eine blöde Frage zu SQL:
              Wenn sich ein neuer User registriert, soll seine ID gleich in alle Tabellen gespeichert werden, wo die Spalte UserID dabei ist?
              etwa: insert in (Tabelle1, Tabell2....)
              wozu? wenn noch keine Daten von ihm abzulegen sind?
              Oder nur in eine "Haupttabelle" als Primary Key und dann per Fremdschlüssel irgendwie in die anderen übergeben? Sind die Tabellen verbunden? ich meine die Spalten mit den gleichen Namen und Inhalt??
              IMHO muss du selbst dafür sorgen, dass sie Verknüpfungen richtig sind. Ob es ein Automatismus bei MySQL existiert, kann ich nicht sagen, da MySQL für mich nur so nebenbei läuft und ich nur einfachen Sachen darauf ablege.

              Kommentar


              • #8
                Der Automatismus (Trigger) ist in MySQL für Version 5.0 bzw 5.1A vorgesehen. --> http://dev.mysql.com/doc/mysql/en/AN..._Triggers.html
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar

                Lädt...
                X