For Programmers: Free Programming Magazines  


Home > Archive > PHP Pear > February 2006 > DB_dataObject_Formbuilder element types and field display order









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author DB_dataObject_Formbuilder element types and field display order
Lloyd Leung

2006-02-25, 6:57 pm

Hello,

I'm learning how to use DB_dataObject_Formbuilder and QuickForm. My
objective is allow a user to upload a picture, add some descriptions,
store the metadata and tag it. I think something like Flickr, but for
personal local use.

I've successfully used formbuilder to generate a form for me.

However, I still don't know how to accomplish a few things:

- How do I tell a generated form to be certain element type for a given
field?
- i.e. change the default text field to a checkbox or to a
enumerated type?
- can I do it with Formbuilder, or QuickForm?
- if with QuickForm
- Do I need to delete the formElement, and re-add it again manually?

- How do I use QuickForm -> insertElementBefore function. For fields
that I would not be using with the database.

- Is there a way to reorder the fields of a formbuilder generated form?

-------------------------------
My code.
<?php
require_once( 'config/config.php' );
require_once( 'DB/DataObject/FormBuilder.php' );

$Pictures = new DataObjects_Pictures( );

// I understand I can set the default information like so:
// $Pictures->filename = "hello world";

$formBuilder = &DB_DataObject_FormBuilder::create( $Pictures );

$form = &$formBuilder->getForm( );

// If we validate, then we process it here
if( $form->validate( ) ) {
$form->process( array( &$formBuilder, 'processForm' ), false );
// Redirect
header( "Location: http://" . $_SERVER[ 'HTTP_HOST' ] .
dirname( $_SERVER[ 'PHP_SELF' ] ) . "/index.php" );
}

$form->display();
?>

-------------------------------
My schema.
--
-- Table structure for table `pictures`
--

CREATE TABLE `pictures` (
`picture_id` int(11) NOT NULL auto_increment,
`user_id` int(11) NOT NULL,
`filename` varchar(255) NOT NULL,
`original` longblob NOT NULL,
`title` varchar(255) NOT NULL,
`description` text NOT NULL,
`views` int(11) NULL,
`downloads` int(11) NULL,
`date_taken` datetime NULL,
`date_uploaded` datetime NOT NULL,
`sha1` binary(160) NOT NULL,
PRIMARY KEY (`picture_id`),
KEY `views` (`views`),
KEY `downloads` (`downloads`),
KEY `sha1` (`sha1`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


-- --------------------------------------------------------

--
-- Table structure for table `tag_pic`
--

CREATE TABLE `tag_pic` (
`tag_id` int(11) NOT NULL,
`picture_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
KEY `user_id` (`user_id`),
KEY `picture_id` (`picture_id`),
KEY `tag_id_2` (`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
Lloyd Leung<br/>
ll@lloydleung.com<br/>
<A HREF="http://www.lloydleung.com">http://www.lloydleung.com</A><br/>
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com