Dynamische Datenbankverwaltung

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

  • Dynamische Datenbankverwaltung

    hallo

    ich möchte ein dynamische dantebankverwaltung (mysql) und suche mit php erstellen (literaturdatenbank), folgendes soll sie können

    schon realisiert:
    - änder, eintragen, löschen von datensätzen
    - volltext- und kriteriensuche (benutzer kann versch. kriterien wie datum, themengebiet oder zeitschrift auswählen und sich alle datensätze anzeigen lassen, auf die diese kriterien zutreffen)

    ^^ habe ich bisher manuell vordefiniert, was jedoch in anbetracht meines baldigen ausscheidens und in ermanglung eines echten webmasters nocht wirklich gut ist.

    zur struktur: die daten liegen in versch. tabellen, die alle gleich strukturiert sind. jede zeitschrift hat ihre eigene tabelle

    was noch fehlt:
    - für das suchformular sollen die namen der tabellen als kriterien verwendet werden, damit der user nich jedesmal nachdem er eine tabelle angelegt hat die datei in der die kriterien angezeigt werden neu stricken muß, selbiges gilt auch für die verwaltung der tabellen.
    - die erscheinungsjahre sollen ebenfalls aus den tabellen gezogen und als kriterium angeboten werden

    - optimum für die kriterienauswahl: der user wählt via pulldown-menu seine kriterien schrittweise aus. je nachdem welche kriterien bereits ausgewählt sind wird der bereich der anderen wählbaren kriterien immer weiter eingeengt. (wenn es zeitschrift y erst ab 1998 gibt steht 1997 gar nicht erst zur auswahl usw.)

    btw: wäre es praktikabler, die tabellen nur zu indexieren (tab1, tab2....) und die tabellenauswahl aus einer übersichtstabelle vorzunehmen, in der dann der titel steht?

    hat jemand dazu tipps, links, vorschläge oder ähnliches?
    danke im vorraus.
    Zuletzt geändert von Cannabeatfan; 19.04.2004, 10:01.
    wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

  • #2
    Re: Dynamische Datenbankverwaltung

    Original geschrieben von Cannabeatfan
    hat jemand dazu tipps, links, vorschläge oder ähnliches?
    danke im vorraus.
    ja, überdenke mal dein datenbank-modell ... dann lösen sich viele probleme von allein ... ich kann keinen tieferen sinn darin erkennen, für jede zeitschrift eine tabelle anzulegen.
    Kissolino.com

    Kommentar


    • #3
      ich kann keinen tieferen sinn darin erkennen, für jede zeitschrift eine tabelle anzulegen
      ich habe die befürchtung, sonst den überblick zu verlieren.
      außerdem habe ich die datensätze (im augenblick ca. 500) vorgefertigt erhalten, und da war auch für jede zeitschrift ne extra datei, ich wollte mir das zusammenführen sparen.
      wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

      Kommentar


      • #4
        *autsch* ... du willst damit doch nicht andeuten, dass du derzeit ca. 500 tabellen in deiner datenbank hast ?! ... und was die übersichtlichkeit angeht:
        1. sind 500 tabellen übersichtlicher als 500 datensätze in einer tabelle?
        2. schaffst du übersichtlichkeit mit einem admin-control-panel => php
        3. sind bei der vorgehensweise alle operationen umständlicher, als mit einer tabelle oder 2-3 ... wie willst du eine vernünftige kriterien-suche verwirklichen, wenn du permanent auf 500 tabs zugreifen musst?
        Kissolino.com

        Kommentar


        • #5
          nee, hab mich falsch ausgedrückt. es seind nur 4 tabs mit ca. 500 einträgen
          wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

          Kommentar


          • #6
            hab grad ein eigentlich vorhersehbares (wenn ich keine tomaten auf den augen hätte) problem gefunden.
            in den tabellen gibt es eine spalte 'schlagworte' in der es hauptsächlich doppelte eintrage gibt. wenn ich mir alle eintrage via mysql_fetch_array auslesen lasse ergibt das eine ziemlich lange liste voller doppelter und dreifacher eintrage.
            gibt es eine möglichkeit, diese doppelnennungen zu verhindern?
            wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

            Kommentar


            • #7
              zB: DISTINCT ... GROUP BY kann man uU auch einsetzen

              OffTopic:
              deinen post im sql-forum schliesse ich ... muss ja nicht 2mal dasselbe laufen
              Kissolino.com

              Kommentar


              • #8
                deinen post im sql-forum schliesse ich ... muss ja nicht 2mal dasselbe laufen
                ok, war mir unsicher ob das noch hierhergehört
                wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

                Kommentar


                • #9
                  DISTINCT
                  is die lösung!! thx
                  wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

                  Kommentar


                  • #10
                    selbes projekt, anderes problem.
                    wie bereits beschrieben handelt es sich um mehrere gleich strukturierte tabellen. da ich eine spaltengebundene suche genauso realisieren möchte wich ich auch dem user die möglichkeit geben möchte, neue tabs anzulegen stellt sich mir die frage nach der umsetzung.
                    ich hatte mir das folgendermaßen vorgestellt. zuerst wird festgestelt, wieviele tabellen es insgesamt gibt. (kein problem)
                    dann soll an jede tabelle eine select anfrage gestellt werden. hierfür hatte ich an eine while-schleife gedacht, die frage ist ob das überhaupt zusammen passt?
                    wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

                    Kommentar


                    • #11
                      das habe ich bisher, aber irgendwie hab ich das gefühl das ist noch nicht so das wahre
                      PHP-Code:
                      function fulltext()
                      {

                          
                      $tabs mysql_query('select * from all_lit');#übersichtstabelle abfragen
                          
                      $num_t mysql_num_rows($tabs);

                          while (
                      $tab mysql_fetch_array($tabs))
                          {
                          
                      $r "select * from lit_".$tab['lit_nr']." where ".$_GET['krit']." = ".$_GET['feld']." ";
                          
                      mysql_select_db(usr_web1073_1);
                          

                              for (
                      $i=0$i<$num_t$i++)
                              {
                              
                      $sel_r mysql_query($r);
                              echo 
                      $sel_r;
                              }
                          }

                      wenn man ein problem nicht lösen kann, dann muß man es eben umgehen!

                      Kommentar


                      • #12
                        Original geschrieben von Cannabeatfan
                        das habe ich bisher, aber irgendwie hab ich das gefühl das ist noch nicht so das wahre
                        dem kann man nur zustimmen ...

                        1. wählst du dieselbe db x-mal in der while-schleife
                        2. die query wird im for unsinnigerweise x-mal ausgeführt
                        3. das echo gibt dir eine resource id und kein ergebnis

                        das sieht mehr nach resourcenvernichtung aus, als nach einem funktionierenden und vor allem durchdachten script.
                        Kissolino.com

                        Kommentar

                        Lädt...
                        X