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:
Evt. habe ich was in der Schleife, bei der Schliessung oder Öffnung vergessen
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 " *";
}
}
// 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'].'' . " *" . $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'].'' . " *" . $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.'' . " *" . $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>' . " *\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>' . " *\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;
}
?>

Kommentar