RE: [PHP] Converting MySQL into Form

2009-10-28 Thread Jay Blanchard
[snip]
Anyone know of a way to can take Mysql tables/fields from phpMyAdmin or
.sql file and quickly make into HTML forms?
[/snip]

Here is that function...(there are many mods that can be made to this,
but it works)

/*
 * SQL Extactor
 * Author: jblanchard
 *
 * Business Rule:   
 *
 * REVISION:Jun 19, 2006 
 * USAGE:   used to create form based on sql database info.
 *  dis be da ugly version, needs to be funkionized
 * 
 */


/* database connection */ 
if(!$dc = mysql_connect('yourdatabase', 'username', 'password')){
echo mysql_error();
exit();
}


function formCreate($database, $table, $action, $excludeCols,
$recordID){
/* 
 * This function is used to create forms on the fly based on
tables within 
 * the database. The minimal arguments are database name and
table name.
 * Additional arguements may be supplied to indicate columns to
be excluded
 * from form and an action (CRUD) to be performed once the form
 * is filled out. If wanting to do an update, read or delete you
can specify
 * a record to retrieve to populate the form. Default values
will be provided 
 * for arguements not included.
 */
 /* database connection in global variable */
 global $dc;
 /* number of arguements sent to function */
 $numArgs = func_num_args();
 /* test to make sure that you have the minial two arguements */
 if(2 > $numArgs){
/* not enough arguments */
$errMsg = "not enough arguements supplied, please supply
database and table name";
return($errMsg);
 } else {
/* 
 * Supply default values for optional arguements if they
are not set.
 * An interesting note here: the action can be anything
that the user
 * specifies, it is not strictly limited to CRUD and it
will be output
 * in a hidden form field; 
 *  
 * That way when the user clicks 'Submit' the programmer
can have a 
 * switch action in his or her processing script to
handle this form. 
 */
 if(!isset($action))  { $action = 'read'; }
 if(!isset($recordID)){ $recordID = ''; }
 if(!isset($excludeCols)){
$excludeCols = '';
 } else {
/* create an array of excluded columns */
$arrExcludeCols = explode(",", $excludeCols);
 }

/* describe the table */
$sqlDesc = "DESCRIBE `".$database."`.`".$table."` ";
if(!($dbInfo = mysql_query($sqlDesc, $dc))){
return mysql_error();
} else {
while($tableInfo = mysql_fetch_array($dbInfo)){
/* 
 * regular expression - we need the data
that exists between the
 * parentheses in the Type column of the
database being described
 * so that we can use for length values
of form fields
 */
 if(!(in_array($tableInfo['Field'],
$arrExcludeCols))){
if(preg_match (
"/\((\d{1,}.*?)\)/", $tableInfo[1], $regs )){
/* handle numerical
values in parentheses to create form element lengths */
echo
"".$tableInfo['Field']."";
echo "\n";
} elseif("text" ==
$tableInfo[1]) {
/* handle text columns
*/
echo
"".$tableInfo['Field']."";
echo "\n";
} elseif("enum" ==
substr($tableInfo[1], 0, 4)){
/* handle enumerated
columns and creat drop downs */
echo
"".$tableInfo['Field']." ";
/*
 * regular expression -
we need the data that
 * exists between the
single quotes in the Type column of the
 * database being
described so that we can use for option 
 * values in a drop-down
on the form
 */
preg_match_all(
"/'(.*)'/U", $tableInfo[1], $matches);
echo "\n";
   

RE: [PHP] Converting MySQL into Form

2009-10-28 Thread Jay Blanchard
[snip]
Anyone know of a way to can take Mysql tables/fields from phpMyAdmin or
.sql
file and quickly make into HTML forms?
[/snip]

Search the archive of this list. I posted a function that does this a
long while back.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] Converting MySQL into Form

2009-10-27 Thread ben...@gmail.com
Anyone know of a way to can take Mysql tables/fields from phpMyAdmin or .sql
file and quickly make into HTML forms?