[PHP5] Benutzerinformationen speichern - PHP oder SQL ?

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

  • [PHP5] Benutzerinformationen speichern - PHP oder SQL ?

    Hi,
    ich möchte nun eine Einstellmöglichkeit für meine User bieten.
    z.B. ein DropDown Menü, welche Programmiersprache Sie können.
    Wie speicher ich die Daten?

    Irgendwo muss ja der Text gespeichert sein, der im DD angezeigt wird und wo anders z.B. eine Nummer, die darauf schließen lässt, welchen Wert er gespeichert hat.

    Wird der Text des DD-Menüs in der PHP selbst gespeichert?
    Natürlich würde ich es gerne in einer SQL DB speichern, da von dort aus es einfacher ist, alles zu überblicken und zu Manage'n

    Wie macht man das im Allgemeinen?
    Dankeschön

  • #2
    db. wie soll das denn sonst dauerhaft sein?

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Original geschrieben von Kropff
      db. wie soll das denn sonst dauerhaft sein?

      peter
      Das stimmt!
      Aber wie?
      Da jede Einstellungemöglichkeit unterschiedlich viele Werte hat,
      müsste man für jede Einstellung eine Ganze Tabelle anlegen.

      Man könnte natürlich eine Tabelle anlegen mit "settings" und dort jeweils einen Datensatz mit der entsprechenden ID für die entsprechende EinstellungesID und einen einzigen wert angeben.

      Rausfiltern, anzeigen.. etc.

      Spricht da was gegen?
      Danke

      Kommentar


      • #4
        Da jede Einstellungemöglichkeit unterschiedlich viele Werte hat,
        müsste man für jede Einstellung eine Ganze Tabelle anlegen.
        kannst du mal sagen, was genau du vorhast?

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Original geschrieben von Kropff
          kannst du mal sagen, was genau du vorhast?

          peter
          :doh:

          Also ich will nun eine Site für die Benutzereinstellungen Programmieren.
          Dort gibt es mehrere verschiedene DropDown Menüs.

          WO genau speicher ich die Informationen, welche Values die einzelnen DropDown Menüs besitzen sollen?

          Klar, ich kann die Values Hardcoded in die php schreiben.
          Das jedoch will ich nicht.
          Ich würde gerne DB basierend die Values der DropDown Menüs ändern können.

          Wenn also z.B. bei einem DropDown Menü irgendwann einmal eine Einstellungsmöglichkeit dazu kommen sollte, so brauche ich in der DB nur einen Wert ergänzen und fertig.


          Beispiel:
          <select name='dd_1'>
          <option value='1'>Rote Tomaten</option>
          <option value='2'>Blaue Tomaten</option>
          <option value='3>Schwarze Tomaten</option>
          <select>

          und

          <select name='dd_2'>
          <option value='1'>Rote Gurken</option>
          <option value='2'>Blaue Gurken</option>
          <option value='3>Schwarze Gurken</option>
          <select>

          Die Tabelle in der DB sieht nun z.B. so aus:
          __id__|__value__|__dd__|__text__
          __1__|___1____|__dd_1_|__Rote Tomaten
          __2__|___2____|__dd_1_|__Blaue Tomaten
          __3__|___2____|__dd_2_|__Blaue Gurken
          __4__|___3____|__dd_1_|__Schwarze Tomaten
          __5__|___1____|__dd_2_|__Rote Gurken
          __6__|___3____|__dd_2_|__Schwarze Gurken


          Aus dieser Tabelle (man beachte: unsortiert, anzahl egal etc.) kann ich nun die werte für bestimmte DD's (DropDown's) auslesen.
          Ist diese Art ok?

          Kommentar


          • #6
            ich würde beim dd auch mit integer arbeiten, aber ansonsten sieht es ok aus. solange das ganze normalisiert ist.

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Original geschrieben von Kropff
              ich würde beim dd auch mit integer arbeiten, aber ansonsten sieht es ok aus. solange das ganze normalisiert ist.

              peter
              Ok gut.
              Dankeschön

              Kommentar


              • #8
                Habe mir das nur kurz durchgelesen ...
                um die Dropdown-Menüs zu füllen, holst Du die
                Inhalte einfach aus einer Datenbanktabelle.

                Etwa folgendes Schema (auf die Schnelle, verzeih):

                Datenbanktabelle: programmiersprachen
                id - (programmiersprachen-)name - art- infotext - blabla


                HTML/PHP-Seite:


                PHP-Code:
                $content_programmiersprachen .=    \"<select name=\'programmiersprache\'> <optgroup label=\'-- Compiler--\'>\";
                 
                $sql_query = \"SELECT name FROM programmiersprachen    WHERE art = \'compiler\' ORDER BY id\"; 
                // oder order by name etc.! 
                $dbconnect->sql($sql_query); 
                $data = $dbconnect->anzahl(); /*Wenn Daten vorhanden sind --> EINFÜGEN*/ 
                if(
                $data) { 
                while(
                $data=$dbconnect->data()) { 
                for(
                $i = 0; $i < count($data); $i++) { 
                $content_programmiersprachen .=\"<option value=\'$data[$i]
                \'>
                $data[$i]</option>\"; 
                }


                else{ /*Wenn keine Daten vorhanden sind --> MELDUNG*/ 
                $content_programmiersprachen .=\"<option value=\'\'>Keine Daten 
                verfügbar</option>\"; 
                }
                $content_programmiersprachen .=\"</optgroup> <optgroup label=\'-- Interpreter --\'>\"; 
                $sql_query = \"SELECT name FROM programmiersprachen WHERE art = \'interpreter\' ORDER BY id\"; 
                $dbconnect->sql($sql_query); 
                $data$dbconnect->anzahl(); /*Wenn Daten vorhanden sind --> EINFÜGEN*/
                if(
                $data){
                 while(
                $data=$dbconnect->data()) { 
                for(
                $i = 0; $i < count($data); $i++) {
                 
                $content_programmiersprachen .=\"<option value=\'$data[$i]\'>$data[$i]</option>\"; 
                }

                } else{ /*Wenn keine Daten vorhanden sind --> MELDUNG*/ 
                 
                $content_programmiersprachen .=\"<option value=\'\'>Keine Daten verfügbar</option>\"; 

                $content_programmiersprachen .= \"</optgroup> </select> \"; 
                usw. sollte in etwa ein Ansatz für Dich sein!

                1. Datenbank(Tabelle) anlegen
                2. Werte eintragen
                3. HTML/PHP-Seite basteln als Eingabe/Auswahl-Formular
                4. Die Dropdowns dynamisch mit den Werten aus der Datenbank
                füllen (s.o.)
                5. Die Auswahl per Script auswerten bzw. in weitere Tabelle
                speichern --> ich weiss nicht, was Du genau damit vor hast ...

                Gruß php_fusel

                p.s.: Wie man unschwer erkennen kann benutze ich hier eine
                DBconnect-Klasse, die man sich einmal im Leben erstellen sollte ...

                Zuletzt geändert von php_fussel; 20.01.2009, 14:35.

                Kommentar


                • #9
                  Original geschrieben von Kropff
                  db. wie soll das denn sonst dauerhaft sein?
                  In einer Session-Datei (als serialisiertes PHP-Array oder -Objekt), so wie es PHP's Session-Verwaltung serienmäßig macht?

                  Gewöhnliche Session-Daten wie Benutzereinstellungen in einer Datenbank zu verwalten, sehe ich als weniger sinnvoll an, so lange es nur ums Aufbewahren des Session-Zustandes geht.

                  Original geschrieben von
                  ich möchte nun eine Einstellmöglichkeit für meine User bieten.
                  ...
                  Wie speicher ich die Daten?
                  Guckst du:
                  serialize()
                  unserialize()

                  Einführung in PHP-Sessions
                  Zuletzt geändert von fireweasel; 20.01.2009, 19:13.
                  Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                  Kommentar

                  Lädt...
                  X