Formulare aus mySQL-Datenbank generieren

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

  • Formulare aus mySQL-Datenbank generieren

    Hallo Leute !

    gibt es irgendein Programm, mit dem man aus seiner mySQL-Datenbank (bzw. deren Aufbau) Formulare generieren kann ? Ich meine das so in der Art wie PHPmyAdmin. Nur möchte ich ein eigenes "Admin-Tool" haben, damit ich nicht überall PHPmyAdmin installieren muss und eigene "Validierungen" einbauen kann.

    Wäre für jeden Hinweis dankbar.....

    Gruß Woodstock

  • #2
    mh... wieso auf etwas bewährtes verzichten ??

    was hast du denn vor, vielleicht kann man dir dann besser helfen!

    gruss

    Kommentar


    • #3
      Also ich möchte einfach ein eigenes Web-Frontend haben mit denen Daten der Datenbank manipuliert werden. Wenn nur ich die Daten ändern würde wäre das mit PHPmyAdmin ja OK. Da aber verschiedene Benutzer (auch 'einfache' Computernutzer) einzelne Sachen ändern/einpflegen sollen möchte ich gerne eigene Formulare haben. Eine eigene Validierung der Daten möchte ich auch vornehmen. Hinzu kommt, das die Scripte mal auf verschiedenen Webservern installiert werden sollen und da müsste ich ja bei jeder neuen Installation gleichzeitig auch PHPmyAdmin installieren.

      Ich kann mir natürlich aus jeder Tabelle die zu ändernden Daten raussuchen und meine eigene Formulare machen - da ich das aber sehr zeitaufwendig finde (bei jedem Projekt fängt man wieder damit an) ist meine Frage, ob es vielleicht eine Art Formulargenerator gibt, der anhand der Tabellenbeschreibung (Datentyp; Format des Datentyps; Name der Spalte; usw.) der Datenbank Formulare erstellt (in Access gibt es sowas glaube ich)

      Können ja erstmal nur recht einfache sein - den Rest baut man sich dann drumherum.

      Hoffe mein Anliegen ist jetzt klarer geworden ;-)

      Kommentar


      • #4
        naja, vom prinzip her könntest du die gleichen funktionen benutzen, wie myadmin.

        Kommentar


        • #5
          Das ist wohl war.... aber gibt es da nicht schon was 'einfacheres' ?

          PHPmyAdmin ist ja doch schon recht umfangreich geworden und mich da durch den Code zu wühlen.... ich weiss ja nicht.

          Kommentar


          • #6
            du kannst ja mal bei mysql.com rumschmökern. da findest du denke ich alle FKTs.

            Kommentar


            • #7
              mh... wäre mir jetzt nicht bekannt, das es da was anderes gibt!

              normalerweise werden oberflächen zur Datenpflege individuell erstellt!

              man kann sich die Arbeit mittels klassen vereinfachen, aber völlig automatisch ??

              gruss

              Kommentar


              • #8
                naja, ist halt wirklich so ne sache, ob es das bringt. weil im endeffekt musst du ja trotzdem individuell da ran, um die validierung einzubauen, die du angesprochen hast. da machen ein paar überschriften mehr auch nicht viel aus.

                Kommentar


                • #9
                  Erstmal danke schön für Eure Mühen.

                  Ich hätte nur gedacht, daß es da evt. schon was gibt. Klar ist, daß jede individuelle Datenpflege auch individuelle Anpassungen benötigt Wäre nur schön, wenn es so eine Art Vor-ab Generator gäbe, mit dem Mann sich ein Menge Tipparbeit (und Fehleranfälligkeit) sparen könnte.
                  z.B. Thumbnails erstellt man ja auch nicht alle einzeln von Hand.

                  Also schön wäre etwas, was auf Datentyp, Eingabelänge und Bezeichnung schauen würde. Dazu vielleicht eine Markierung, welche Spalten aus einer Tabelle man in dem Formular haben möchte. Würde einiges an 'Handarbeit' erleichtern...

                  Muss ich mal bei mySQL genauer schauen, wie man das ausliest.


                  Wenn noch jemanden was einfällt - nur raus damit !

                  Kommentar


                  • #10
                    okay, thumbnail generatoren gibt es ja schon mal en mass.

                    dann könntest du dir ne klasse schreiben. dann brauchst du auch jeden code nur einmal schreiben.

                    *ansonsten verschieb mal zu gesuchen*

                    Kommentar


                    • #11
                      Also bei PHPmyAdmin wird sowas in der Art in dem Script tbl_change.php gemacht.

                      Na, mal schauen.

                      Kommentar


                      • #12
                        Hallo nochmal !

                        ich poste einfach mal eine Roh-Roh-Rohversion der Sachlage. Sieht ein wenig wild aus ist eben einfach drauflosprobiert. Datenbankverbindung muss natürlich stehen und in $cfgSQLDataBase muss der Datenbankname stehen. Gäbe natürlich noch jede Menge anderer Sachen die implementiert werden könnten (müssten) ;-)


                        PHP-Code:
                        <?php

                        if (!isset($_POST['tabelle'])){

                            
                        $result1 mysql_list_tables($cfgSQLDataBase);
                            if (!
                        $result1) {
                                echo 
                        "DB Fehler, Tabellen können nicht angezeigt werden<br>";
                                echo 
                        'MySQL Fehler: ' mysql_error();
                                exit;
                            }
                        ?>
                            <form action="test.php" method="post">
                            <p>Für welche Tabelle möchten Sie ein Formular erstellen ?</p>
                            <p>
                        <?php
                            
                        while ($row mysql_fetch_row($result1)) {
                                echo 
                        "<input type='radio' name='tabelle' value='$row[0]'> $row[0]<br>";
                            }
                            
                        mysql_free_result($result1);
                        ?>
                            </p>
                            <input type="submit" value=" Absenden ">
                            </form>


                        <?php
                        }
                        elseif (!isset(
                        $_POST['felder'])){

                                
                        $result mysql_query("SELECT * FROM ".$_POST['tabelle']." LIMIT 1;");
                                
                        $fields mysql_num_fields($result);
                                
                        //$rows   = mysql_num_rows($result);
                                
                        $table mysql_field_table($result0);
                        ?>

                        <form action="test.php" method="get">
                        <table>
                        <?PHP
                                
                        for ($i=0$i $fields$i++) {
                                      
                        $type  mysql_field_type($result$i);
                                      
                        $name  mysql_field_name($result$i);
                                      
                        $len   mysql_field_len($result$i);
                                      
                        $flags mysql_field_flags($result$i);
                                      switch (
                        $type){
                                              case 
                        'string':
                                                   echo 
                        "<tr> \n";
                                                   echo 
                        "<td>$name: </td> \n";
                                                   echo 
                        "<td><input name='$name' type='text' size='$len' maxlength='$len' value='<?php echo $$name; ?>'></input></td> \n";
                                                   echo 
                        "</tr> \n";
                                                   break;
                                              case 
                        'int':
                                                   echo 
                        "<tr> \n";
                                                   echo 
                        "<td>$name: </td> \n";
                                                   echo 
                        "<td><input name='$name' type='text' size='$len' maxlength='$len' value='<?php echo $$name; ?>'></input></td> \n";
                                                   echo 
                        "</tr> \n";
                                                   break;
                                              case 
                        'datetime':
                                                   echo 
                        "<tr> \n";
                                                   echo 
                        "<td>$name: </td> \n";
                                                   echo 
                        "<td><input name='$name' type='text' size='$len' maxlength='$len' value='<?php echo $$name; ?>'></input></td> \n";
                                                   echo 
                        "</tr> \n";
                                                   break;
                                              case 
                        'blob':
                                                   echo 
                        "<tr> \n";
                                                   echo 
                        "<td>$name: </td> \n";
                                                   echo 
                        "<td><textarea name='$name' rows='10' cols='50'><?php echo $$name; ?></textarea></td> \n";
                                                   echo 
                        "</tr> \n";
                                                   break;
                                      }

                                      
                        //echo $type." ".$name." ".$len." ".$flags."<br>";
                                
                        }
                                
                        mysql_free_result($result);
                        ?>
                        </table>
                         <input type="submit" value=" Absenden ">
                         </form>
                        <?php
                        }
                        ?>

                        Kommentar


                        • #13
                          naja, wenn man bedenkt, dass man für ein normales interface wesentlich weniger code braucht... vorallem, wenn du mit RegEx prüfen musst und so weiter, wird dein aktueller Versuch nicht mehr viel bringen, dann musst du nämlich zu individuell werden.

                          aber als abgespecktke myadmin version könnte man das ruhig weiterentwickeln. dein admin-bereich darf halt nicht zu speziell werden.

                          Kommentar


                          • #14
                            Bin über ein nettes Script 'gestolpert'. phpformwizard ist eigentlich genau das was ich suchte. Zu finden unter anderem bei www.phpwelt.de

                            Aber danke nochmal für Eure Mühen !

                            Kommentar

                            Lädt...
                            X