Ankündigung

Einklappen
Keine Ankündigung bisher.

MyProject: PHP FormGen

Einklappen

Neue Werbung 2019

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

  • MyProject: PHP FormGen

    Ciao!

    Ich habe ein kleines Projektchen namens PHP FormGen.
    Wie der name schon eindeutig sagt, will ich aus einer Datenbank mittels PHP eine Tabelle auslesen und die verarbeiten.

    Ich bin jetzt nun an einem Punkt wo ich nicht mehr weiter weiss.

    Ein Beispiel ; In einer Gruppe hat es eine SELECT Box(HTML), gut funktioniert 1A.
    Doch wenn ich nun eine andere Form in der gleichen Gruppe haben will, funktioniert es nicht mehr.

    Hier die Seite: http://www.satinez.net

    Hier der Code:
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
    <head>
    <title>PHPFormGen by ME</title>



    <style type="text/css">

    /*Style sheet used for demo. Remove if desired*/
    .handcursor{
    cursor:hand;
    cursor:pointer;
    }

    </style>




    <style type="text/css">

    fieldset
    {
    border: #002E85 2px solid;
    background-color: #EBEEFE;
    //background-color: #EBF5FD;
    padding: 10px 0 10px 20px;
    }
    </style>


    </head>


    <body>


    <h3>Pflichtfelder sind mit einem Stern (*) gekennzeichnet!</h3>
    <?php
    include "_INCLUDES/db_connect_inc.php";

    $br3 "<br /><br /><br />\n";
    $br2 "<br /><br />\n";
    $br  "<br />\n";




    //query the database
    $myResult01 mysql_query'SELECT * FROM forms ORDER BY groups'$connectID )  or die ("Unable to select from database");

    $lastgroups "";
    $lasttype "";
    $lastrequired false;
    $entering true;


    // Schleifenkopf
    while ( $dbresult mysql_fetch_assoc($myResult01)) {

            
    // Zugriff auf Arrayelemente OHNE Prüfung
            
    $form_type $dbresult['type'];
            
    $form_name $dbresult['name'];
            
    $form_value $dbresult['value'];
            
    $form_checked $dbresult['checked'];
            
    $form_required $dbresult['required'];
            
    $form_rows $dbresult['rows'];
            
    $form_cols $dbresult['cols'];
            
    $form_text $dbresult['text'];
            
    $form_wrap $dbresult['wrap'];
            
    $form_groups $dbresult['groups'];
            
            if ( 
    $lastgroups <> $form_groups  // Wird beim ersten Durchlauf, true ergeben
            
    {



                if ( !
    $entering && $lasttype == 'select' )
                {
                    echo 
    "</select>";

                    if( 
    $lastrequired )
                    {
                        echo 
    "&nbsp;*";
                    }

                }


                
    // Schliesst das Fieldset immer nach Gruppenende
                
    if ( !$entering )
                {
                    echo 
    "</fieldset>\n" $br;
                    
    $entering true;
                }



                
    // CHECKBOX / RADIO BUTTONS GROUPING
                
    if ( $entering )
                {
                    
    $entering false;
                    echo 
    "<fieldset>\n";
                    echo 
    "<u>Gruppe [<strong>" $dbresult['groups'] . "</strong>]</u>" $br2;

                    if( 
    $form_type == 'select' )
                    {
                        echo 
    "<select>\n\t";
                    }

                }





            }
            
            


    /* 
        Wenn der type=select Fall eintritt, werden die $form_* Variablen verwendet... 
        diese wurden aber vorher nicht überprüft, d.h. $form_name kann leer sein!
    */
        
    switch( $dbresult['type'] )
        {
            case 
    'select';

                    
    $form_select '<option value="' $form_value'">'$form_name .'</option>' "\n\t";
                    echo 
    $form_select;

                    break;

            case 
    'radio';

                
    /* 
                XOR: Er prüft, ob entweder die eine Bedingung oder die
                andere Bedingung wahr ist aber eben nicht beide.
                */ 
                
                
    if( !$form_name == "" XOR !$form_value == "" XOR !$form_text == "" )
                {
                    if( 
    $form_checked == "checked" && $dbresult['required'] == true )
                    {
                        
    $form_01 '<input type="radio" checked="'.$dbresult['checked'].'" name="'.$dbresult['name'].'" value="'.$dbresult['value'].'">'.$dbresult['text'].'' "&nbsp;*" $br ."\n";
                    }
                    else if ( 
    $dbresult['checked'] == "checked" && $dbresult['required'] == false )
                    {
                        
    $form_01 '<input type="radio" checked="'.$dbresult['checked'].'" name="'.$dbresult['name'].'" value="'.$dbresult['value'].'">'.$dbresult['text'].'' $br ."\n";
                    }
                    else if ( 
    $dbresult['checked'] == "off" && $dbresult['required'] == true )
                    {
                        
    $form_01 '<input type="radio" name="'.$dbresult['name'].'" value="'.$dbresult['value'].'">'.$dbresult['text'].'' "&nbsp;*" $br ."\n";
                    }
                    else if ( 
    $dbresult['checked'] == "off" && $dbresult['required'] == false )
                    {
                        
    $form_01 '<input type="radio" name="'.$dbresult['name'].'" value="'.$dbresult['value'].'">'.$dbresult['text'].'' $br ."\n"
                    }
                    
                    
    /*
                        Wenn ein Bedingung zutrifft, speichert er die Informationen
                        in der Variable, und hier wird sie ausgegeben.
                    */
                    
                    
    echo $form_01;
                }
                else
                {
                    echo 
    'Name, Wert oder Text fehlt > ' '<strong>' strtoupper($form_type) . '</strong>' $br;
                }
                break;

            
    // CASE CHECKBOX
            
    case 'checkbox';

                if( !
    $dbresult['name'] == "" XOR !$dbresult['value'] == "" XOR !$dbresult['text'] == "")
                {
                    if ( 
    $dbresult['checked'] == "checked" && $dbresult['required'] == true )
                    {
                        
    $form_checkbox '<input type="checkbox" name="'.$form_name.'" value="'.$form_value.'" checked="'.$form_checked.'">'.$form_text.'' "&nbsp;*" $br ."\n";
                    }
                    if ( 
    $dbresult['checked'] == "checked" && $dbresult['required'] == false )
                    {
                        
    $form_checkbox '<input type="checkbox" name="'.$form_name.'" value="'.$form_value.'" checked="'.$form_checked.'">'.$form_text.' ';
                    }
                    if ( 
    $dbresult['checked'] == "off" && $dbresult['required'] == false )
                    {
                        
    $form_checkbox '<input type="checkbox" name="'.$form_name.'" value="'.$form_value.'">'.$form_text.' ';
                    }
                    if ( 
    $dbresult['checked'] == "off" && $dbresult['required'] == true )
                    {
                        
    $form_checkbox '<input type="checkbox" name="'.$form_name.'" value="'.$form_value.'">'.$form_text.' *';
                    }
                    
                    
    /*
                        Wenn ein Bedingung zutrifft, speichert er die Informationen
                        in der Variable, und hier wird sie ausgegeben.
                    */
                    
                    
    echo $form_checkbox;

                }
                else
                {
                    echo 
    'Name, Wert oder Text fehlt > ' '<strong>' strtoupper($form_type) . '</strong>' $br;
                }
                
        break;

        case 
    'textarea';
        
        if( !
    $form_name == "" XOR !$form_text == "" XOR !$form_rows == "0" AND !$form_cols == "0" )
        {
            if ( 
    $form_required == "1" && $form_wrap == "on" )
            {
                
    $form_textarea '<textarea name="'.form_name.'" rows="'.$form_rows.'" cols="'.$form_cols.'" wrap="on">'.$form_text.'</textarea>' "&nbsp;*\n";
            }
            else if ( 
    $form_required == "1" && $form_wrap == "off")
            {
                
    $form_textarea '<textarea name="'.form_name.'" rows="'.$form_rows.'" cols="'.$form_cols.'" wrap="off">'.$form_text.'</textarea>' "&nbsp;*\n";
            }
        }
        else
        {
            echo 
    'Name, Wert, Text, rows oder cols fehlt! > ' '<strong>' strtoupper($form_type) . '</strong> ' $br2;
            
            if ( 
    $form_cols == "0" )
            {
                echo 
    '<span style="color: red; font-weight: bold;">Cols: '.$form_cols.' </span>';
            }
            if ( 
    $form_rows == "0" )
            {
                echo 
    '<span style="color: red; font-weight: bold;">Rows: '.$form_rows.' </span>';
            }
        }
        echo 
    $form_textarea $br2;
        break;

        }

            
    $lastgroups $form_groups;
            
    $lasttype $form_type;
            
    $lastrequired $form_required;
            

    }


    ?>
    Evt. habe ich was in der Schleife, bei der Schliessung oder Öffnung vergessen

  • #2
    1. Ich versteh nicht wirklich was du machen möchtest.
    2. Was ist jetzt deine Frage?

    Kommentar


    • #3
      PHP FormGen
      Wie der name schon eindeutig sagt, will ich aus einer Datenbank mittels PHP eine Tabelle auslesen und die verarbeiten.
      Was ist für dich bitte eindeutig?

      Beschreib mal genauer:
      Was passiert momentan?
      Was sollte passieren?
      Wie sehen die Daten in der Datenbank aus?
      usw.

      Kommentar


      • #4
        PHP FormGen ist eindeutig

        Ich möchte mehrere verschiedene Forms in einer Gruppe haben.

        Bild1: Die MySQL Tabelle
        Bild2: Die Ausgabe mit nur einem SELECT in der Gruppe A
        Bild3: Die Ausgabe mit einem SELECT und einem Textarea in der Gruppe A

        Wenn ich jedoch in der Tabelle ein Textarea einfüge und der Gruppe A zuweise,dann passiert folgendes wie in Bild3

        -> Er holt das SELECT Element was in der Gruppe B ist und hängt es in die Gruppe A.

        Irgendwie schliesst er doch was nicht richtig, ich finde einfach nicht heraus was und wie. Im Seitenquelltext, wenn die PHP generiert wurde, sehe ich das er die Gruppe A sauber abschliesst.

        greet;s satinez
        Angehängte Dateien

        Kommentar


        • #5
          http://validator.w3.org/check?uri=ht...satinez.net%2F

          Du hast das erste Select nicht geschlossen.

          Kommentar


          • #6
            Danke, das Problem besteht nur wenn ich eine Textarea in die gleiche Gruppe einbinde.

            Wenn ich nur das SELECT drin stehen habe, funktioniert es sauber und schliesst auch wieder sauber ab.

            Ich weiss nicht mal, wo ich eine Änderung anbringen sollte


            greet;s satinez

            Kommentar

            Lädt...
            X