universelles formular???

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

  • universelles formular???

    moin
    ich habe in meiner datenbank einige tabellen die öfter mal upgedatet werden müssen und da die alle recht gross sind stellt sich bei mir die frage:
    kann ich da nich ein universelles formular erstellen das mir die daten aus der datenbank ausliest? sonst muss ich ja für jede tabelle eine eigene datei erstellen, oder?
    kann mir da jemand weiter helfen?

    gruss
    olli

  • #2
    Ich würde es ähnlich erstellen wie es im PHPMyAdmin ist (auf meinem Entwicklungserver).

    Du hast ein Select-Feld und wählst dir die Tabelle aus die du gerade brauchst. Jetzt nur noch durch eine Abfrage welche Tabelle gebraucht wird und alle Spalten werden zurverfügung gestellt. Ein Klick auf OK und dann hast du ein Universelles Formular.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      klar geht das, du läßt doch die Tabelle per schleife ausgeben, mußt nur auf die richtigen Felder ja nach Spaltentyp achten (textarea für Spaltentype Text, etc)

      gruss

      Kommentar


      • #4
        danke für die tips ich werd das gleich mal ausprobieren und berichten ob ich´s verstanden habe...

        Kommentar


        • #5
          tja ich hab mein glück mal probiert aber ich bekomms nicht wirklich hin! das formular ist ja kein thema aber dann die vorhandenen daten anzeigen lassen funktioniert nich! habt ihr vielleicht noch nen tip für mich?

          olli

          Kommentar


          • #6
            Poste doch mal, was Du bisher gemacht hast, dann können wir Dir sagen, wo Du was ändern/einfügen mußt.
            Of all things I've lost
            I miss my mind the most

            Kommentar


            • #7
              ich habs mal so versucht:

              $query = "select * from tabelle";
              $result = mysql_query($query)
              or die(mysqL_error());
              $ergebnis = mysql_query($query)
              or die(mysql_error());
              $anz_spalten = mysql_num_fields($ergebnis);
              echo "<form action='submit.php'>\n";
              echo "<table width=100% border=1>\n";
              while ($zeile = mysql_fetch_row($ergebnis))
              {
              for ($l=0; $l<$anz_spalten; $l++)
              {
              if (!isset($zeile[$l]))
              {echo "<tr><td colspan=2>Nix mehr da!</td></tr>";}
              else
              {$k=$zeile[$l];}
              }
              }
              for ($i=0; $i<$anz_spalten; $i++)
              {
              echo "<tr><td>" . mysql_field_name($ergebnis, $i). "</td><td><input type=text name=" . mysql_field_name($ergebnis, $i) . " value=" . $k ."></td></tr>\n";
              }

              nich erschrecken ich bin noch relativ neu in der php sache ;-)

              olli

              Kommentar


              • #8
                schau dir mal das Ergebnis der Query "show fields from tabelle" an
                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


                • #9
                  ähm dumme frage vielleicht aber wie macht man das?

                  Kommentar


                  • #10
                    dumme Frage, fürwahr ... so wie bei jeder anderen Query auch:
                    PHP-Code:
                    $q mysql_query("show fields from tabelle")
                      or die(
                    mysql_error());
                    while (
                    $x mysql_fetch_assoc($q))
                    {
                      foreach(
                    $x as $k=>$v)
                        echo 
                    "<br>$k : "htmlentities($v);
                      echo 
                    '<hr>';

                    Wenn du die Ergebnisse auswertest, dann kannst du ganz einfach den Typ einer Spalte ermitteln und aufgrund dieser Abfrage den richtigen Formularfeldtyp einsetzen:
                    für enum ein select oder radios, für set ein select multiple etc. pp.
                    Auch die maxlength für input type="text" erhältst du damit.
                    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


                    • #11
                      na gut :-)
                      ich bin ja wie gesagt neu im thema und versuch mein bestes ;-)
                      aber noch mal zurück zum thema! der sinn des ganzen ist halt eine idiotensichere site-administration herzustellen ;o)
                      und ich hab bestimmt noch ein paar mehr fragen dazu und wenn das dann mal fertich is dann kann ich das ja auch mal hier posten.. aber das wird noch nen bissl dauern.
                      so ich wer das dann mal morgen früh in ruhe ausprobieren und mich dann mal wieder melden... bis denne

                      olli

                      Kommentar


                      • #12
                        moin
                        @titus
                        ich hab das grad mal ausprobiert aber bekomme immer eine fehlermeldung unexpected T_STRING woran kann das liegen?

                        Kommentar


                        • #13
                          daran dass du dich vertippt hast ... poste mal die Zeile, in der der Fehler auftritt - bzw. den Befehl der dazu gehört.

                          PS: Ich würd dem Formular noch "method='post'" als Parameter mitgeben.
                          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


                          • #14
                            @titus
                            ich weis nich ob ich mich vertippt hab, ich hab sofort beim query den fehler bekommen, aber das ist jetzt auch egal weil ich was anderes probiert habe.

                            ich kann zwar jetzt die mysql_field_type abrufen aber wie setz ich sie ein das ich dann auch die passenden feld typen bekomme?
                            hier noch mal das skript:

                            $query = "select * from tabelle where id=$id";
                            $ergebnis = mysql_query($query)
                            or die(mysql_error());

                            $num_fields = mysql_num_fields($ergebnis);
                            for ($i=0; $i<$num_fields; $i++)
                            {
                            $type = mysql_field_type($ergebnis, $i)."<br>";
                            }
                            echo "<form action='submit.php' method=post>\n";
                            echo "<table width=100% border=1>\n";

                            while($row = mysql_fetch_array($ergebnis, MYSQL_ASSOC))
                            {
                            while (list($key, $value) = Each ($row))
                            {
                            {echo "<tr><td><b>$key:</b></td><td><input type=???? name='$key' value='$value'></td></tr>\n";}
                            }
                            }

                            echo "<tr><td><input type=submit value=Update></td></tr>";
                            echo "</form>";
                            echo "</table>";

                            vielleicht hat da noch jemand einen kleinen tip für mich vielleicht kann ich dann auch bald mal helfen ;-)

                            Kommentar

                            Lädt...
                            X