phpbar.de logo

Mailinglisten-Archive

[pear] DB_DataObject_FormBuilder mit JOIN/Fremdschlüssel

[pear] DB_DataObject_FormBuilder mit JOIN/Fremdschlüssel

Tobias Hovorka php-liste at partygoetter.de
Sam Jun 26 20:03:07 CEST 2004


Hallo,

ich möchte folgende Tabellen pflegen, habe aber Probleme das Formular
anzeigen zu lassen. Ich möchte ein Formular für die zutaten-Tabelle
haben, für fk_zutat_art soll eine Select-Box mit der zutaten_art
erscheinen. Leider komme ich genau hier nicht weiter, mir wird immer
eine Textbox angezeigt:


/************ DB *******************/
zutaten
pk_id  zutat_name  fk_zutat_art

zutaten_art
pk_id	zutaten_art
/************ ende DB *******************/

 In der *.ini habe ich folgendes:

/********* ini **********************/
[zutaten]
pk_id = 129
zutat_name = 130
fk_zutat_art = zutaten_art:pk_id

[zutaten__keys]
pk_id = N

[zutaten_art]
pk_id = 129
zutaten_art = 130

[zutaten_art__keys]
pk_id = N
/*********** ende ini ********************/

Mit den Beispielen auf http://www.21st.de/downloads/rapidprototyping.pdf
komme ich nicht klar. Dort wird genau das gemacht was ich brauche,
jedoch verstehe ich nicht wieso im Bsp. auf Seite 24 direkt Select-Boxen
vorhanden sind? Laut Bsp. müssten die eigentlich schon durch diesen Code
da sein:


/***** code **************++++

$_zutat = & new DAO_zutaten;

$builder =& DB_DataObject_FormBuilder::create($zutat);

$form =& $builder->getForm($_SERVER["PHP_SELF"] ."?".
$_SERVER["QUERY_STRING"]); 
$form -> addRule('zutat_name', 'Bitte einen Namen angeben', 'required');

if ($form -> validate()) { 
	$form -> process(array(&$builder,'processForm'), false); 
	
	echo 'Neue Zutat:: ' . $zutat -> zutat_name; 
}

echo $form->toHtml();

/********** ende code *********************/

Kann mir jemand sagen was ich falsch mache oder ein Tutorial empfehlen?

Danke

Tobias




php::bar PHP Wiki   -   Listenarchive